iOS - 代码规范的提示

我们在些程序时会发现苹果里面有好多非常好的提示

比如:

1.每次SDK升级后 一些方法的方法已经过时了,这时候会给你提示描述该方法已经过期(作用:1.兼顾老版本 2.给开发者一个提示)

2.有时候项目里面父类的方法没有重写 在控制台会给你提示

3.可以穿多个参数的方法 比如UIAlertView 的创建方法里面最后一个参数可以传多个用...代替

UIAlertView* alertView [[UIAlertView alloc]initWithTitle:<#(nullable NSString *)#> message:<#(nullable NSString *)#> delegate:<#(nullable id)#> cancelButtonTitle:<#(nullable NSString *)#> otherButtonTitles:<#(nullable NSString *), ...#>, nil]

 

以上是我目前在项目里面遇到的

 

应用场景:

1.如果自己写的方法也已经过时了 要弃用了 如何给其他成员一个提示呢 ?

//属性过时了的描述方法
@property (nonatomic, copy) NSString *township __attribute((deprecated("该字段从v2.2.0版本起不再返回数据,建议您使用AMapSearchKit的逆地理功能获取."))); 

//方法过时或不能用的描述

+ (NSString *)getWeiboAppSupportMaxSDKVersion __attribute__((deprecated));

+ (NSString *)getWeiboAppSupportMaxSDKVersion __attribute__((deprecated("这里面可以写描述哦")));

//方法不能用的描述
- (instancetype)init __attribute__((unavailable));


//总结
// 不管是方法还是属性的过期或不能用的提示格式是
 __attribute__((deprecated))
 __attribute__((deprecated("这个里面可以写描述哦当让也可以不写像上面那样")))

 

2.字节写个父类其中有的方法想让子类去重写实现

 

#pragma mark - must override methods

- (void)handleChangeAlbum:(UIButton *)sender {

    NSAssert(NO, @"sub class should override");

}
 

- (NSString)handleAlbumListCellSelected:(NSNotification *)aNotify {

    NSAssert(NO, @"sub class should override");
    return nil;

}

 

3.想传多个参数用...代替  这个稍后再给方法

 

posted @ 2016-12-13 18:27  俊华的博客  阅读(478)  评论(0编辑  收藏  举报