当时是在用Xcode 7进行编译ASDK的代码发现报错了
当时就蒙圈了,@property(class)--这是啥呀,太久没看过object-c了,但是不至于@property是没有class属性的,没办法只能靠度娘解决问题了,于是就找到了一个大神的文章,本文也是只是做个学习记录
http://www.cocoachina.com/ios/20161202/18257.html
1、Xcode8才支持Objective-C 的类属性了,与OC 中的类属性对应的是Swift的类型属性。
注意:尽管这是Xcode 8 中 LLVM 编译器的新特性,但是它对于iOS 10之前的版本依然适用
2、声明形式如下:
@property (nonatomic, class, copy) ASDisplayNodeNonFatalErrorBlock nonFatalErrorBlock
类属性永远不会被自动合成(就是说如果不自己代码实现 setter和getter的话,是不行的);
3、在.m文件内需要声明成Static类型
static ASDisplayNodeNonFatalErrorBlock _nonFatalErrorBlock = nil;
4、setter和getter的方法实现(因为_nonFatalErrorBlock是static类型,所以 setter和getter方法是类方法)
1 + (void)setNonFatalErrorBlock:(ASDisplayNodeNonFatalErrorBlock)nonFatalErrorBlock 2 { 3 if (_nonFatalErrorBlock != nonFatalErrorBlock) { 4 _nonFatalErrorBlock = [nonFatalErrorBlock copy]; 5 } 6 } 7 8 + (ASDisplayNodeNonFatalErrorBlock)nonFatalErrorBlock 9 { 10 return _nonFatalErrorBlock; 11 }
5、使用的方式是按照static类型方式:类名.nonFatalErrorBlock,
以上大概就是这个知识点的基本使用了,有不妥之处欢迎指正,详细的可以通过上面链接学习。