1.__kindof 和 __typeof区别
- (void)configCell:(__kindof UITableViewCell*)cell atIndexPath:(NSIndexPath*)indexPath
__kindof:规定参数为UITableViewCell这个类或者其子类
instancetype的作用,就是使那些非关联返回类型的方法返回所在类的类型!
好处:确定对象类型帮编译器更好定位代码问题。
相同点:
作为方法的返回类型
不同点:
1、instancetype 可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象。
2、instancetype只能作为返回值,id可以作为参数
3.只提示作用 nullable 可为空。nonnull不能为空。null_resettable:需要重新set方法。
@property(nonatomic,copy,nullable)NSString*name1;
@property(nonatomic,copy,nonnull)NSString*name2;
@property(nonatomic,copy,null_resettable)NSString*name3;