Xcode7提供了一些方便开发者使用的新特性,下述代码能全面的剖析所有的新特性:
1、NS_ASSUME_NONNULL_BEGIN
和NS_ASSUME_NONNULL_END
宏之间的简单指针都被定义为nonnull,因此我们只需要去指定那些nullable的指针。
2、NS_DESIGNATED_INITIALIZER
指定某个函数为class的默认初始函数。
3、NSArray<__kindof IMMember*>
指定数组中的元素是哪种类型。
NS_ASSUME_NONNULL_BEGIN
@interface IMTeam : NSObject
@end
@interface IMMember : NSObject
@end
@interface IMDashboardModel : NSObject
- (instancetype)initWithTeam:(IMTeam*)team NS_DESIGNATED_INITIALIZER;
@property(nonatomic,readonly,strong)IMTeam *team;
@property(nonatomic,readonly,copy)NSArray<__kindof IMMember*> *members;
- (void)updateAllDashboardDataThen:(nullable void(^)(NSError *__nullable error))then;
@end
NS_ASSUME_NONNULL_END
Xcode7新特性大大优化了写代码的质量,你用过了吗?

网友评论