sel就是對方法的一種包裝。包裝的sel型別資料它對應相應的方法位址,找到方法位址就可以呼叫方法。在記憶體中每個類的方法都儲存在類物件中,每個方法都有乙個與之對應的sel型別的資料,根據乙個sel資料就可以找到對應的方法位址,進而呼叫方法。
@inte***ce person : nsobject+ (void
)test1;
- (void
)test2;
@end
// 根據.h檔案中定義的person類和方法 執行完這行** 在記憶體中如下
sel就是對方法的一種包裝。包裝的sel型別資料它對應相應的方法位址,找到方法位址就可以呼叫方法
1.方法的儲存位置
2.sel物件的建立
sel s1 = @selector(test1);3.sel物件的其他用法// 將test1方法包裝成sel物件
sel s2 = nsselectorfromstring(@"test1"
); // 將乙個字串方法轉換成為sel物件
// 將sel物件轉換為nsstring物件nsstring *str = nsstringfromselector(@selector(test));
person *p = [person new
]; // 呼叫物件p的test方法
[p performselector:@selector(test)];
/******************************* person.h檔案 **********************************/#import
@inte***ce person : nsobject
- (void
)test1;
- (void
)test2:(nsstring *)str;
@end
/******************************* person.m檔案 **********************************/
#import "person.h"
@implementation person
- (void
)test1
- (void
)test2:(nsstring *)str
@end
/******************************* main.m檔案 **********************************/
#import "person.h"
#import
/*呼叫方法有兩種方式:
1.直接通過方法名來呼叫
2.間接的通過sel資料來呼叫
*/int
main(
intargc,
const
char
* argv)
IOS 關於SEL的簡單總結
sel就是對方法的一種包裝。包裝的sel型別資料它對應相應的方法位址,找到方法位址就可以呼叫方法 1.方法的儲存位置 2.sel物件的建立 sel s1 selector test1 將test1方法包裝成sel物件 sel s2 nsselectorfromstring test1 將乙個字串方法...
關於SEL的簡單總結
sel就是對方法的一種包裝。包裝的sel型別資料它對應相應的方法位址,找到方法位址就可以呼叫方法。在記憶體中每個類的方法都儲存在類物件中,每個方法都有乙個與之對應的sel型別的資料,根據乙個sel資料就可以找到對應的方法位址,進而呼叫方法。根據.h檔案中定義的person類和方法 執行完這行 在記憶...
SEL的簡單解釋
sel就是對方法的一種包裝。包裝的sel型別資料它對應相應的方法位址,找到方法位址就可以呼叫方法 1.方法的儲存位置 2.sel物件的建立 sel s1 selector test1 將test1方法包裝成sel物件 sel s2 nsselectorfromstring test1 將乙個字串方法...