iOS开发日记56
发布时间:2015-12-28 15:00:07
今天博主有一个浅析NSobject API的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步.我们都知道NSObject自身遵循NSObject这个协议,从协议开始说协议- (BOOL)isEqual:(id)object对比对象之间是否相同,地址相同,hash值也要相同 ...
今天博主有一个浅析NSobject API的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步.
我们都知道NSObject自身遵循NSObject这个协议,从协议开始说
协议
- (BOOL)isEqual:(id)object
- 对比对象之间是否相同,地址相同,hash值也要相同,才会返回YES
@property (readonly) NSUInteger hash / + (NSUInteger)hash
- 一般用来比较,注意:新创建的实例之间一般不同,类的静态方法返回值是一样的,比如有个类叫Man ,[Man hash]值是相同的,Man *man = [Man new]; [man hash]值不同
@property (readonly) Class superclass / + (Class)superclass
- (Class)class / + (Class)class
- (instancetype)self
- (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object2
- 执行aSelector方法,带参数,与[class do]这种方式比较,编译不会报错,只会警告,运行时检查是否有该方法,如没有,crash
- (BOOL)isProxy
- 检查是否不继承自NSObject(比如NSProxy),返回NO说明继承
- (BOOL)isKindOfClass:(Class)aClass
- (BOOL)isMemberOfClass:(Class)aClass
- (BOOL)conformsToProtocol:(Protocol)aProtocol
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:iOS开发日记56
关键词:IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。