標籤:
description方法
#import "Person.h"@implementation Person- (void) setAge : (int) age { _age = age;}/** 決定了執行個體對象的輸出結果 **/- (NSString *) description { return [NSString stringWithFormat : @"age=%i", _age];}/** 決定了類對象的輸出結果 **/+ (NSString *) description { return @"ABC";}@end//預設情況下(不重寫) 使用NSLog和%@輸出對象時 結果是: <類名: 記憶體位址>//會調用對象的-description方法//拿到-description方法的傳回值(NSString *)顯示到螢幕上//-description方法預設返回的是"類名 + 記憶體位址";//便於觀察結果 一般重寫父類的-description方法
SEL類型
1.方法的儲存位置
每個類的方法列表都儲存在類對象中
每個方法都有一個與之對應的SEL類型的對象
根據一個SEL對象就可以找到方法的地址 進而調用方法
2.SEL對象的建立
SEL s = @selector(方法名);
SEL s2 = NSSelectorFromString(@"test");
3.SEL對象的其他用法
將SEL對象轉為NSString對象
NSString *str = NSStringFromSelector(@selector(方法名));
根據SEL調方法
[p performSelector : @selector(方法名)];
[p performSelector : @selector(方法名) withObject : 實際參數];
[self performSelector : _cmd]//會引發死迴圈 _cmd代表著當前方法
Objective-C description方法 SEL類型