当时是在用Xcode 7进行编译ASDK的代码发现报错了

! Unknown property attribute "class"

当时就蒙圈了,@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,

以上大概就是这个知识点的基本使用了,有不妥之处欢迎指正,详细的可以通过上面链接学习。

 

相关文章:

  • 2021-08-17
  • 2021-05-18
  • 2021-10-31
  • 2021-09-05
  • 2022-12-23
  • 2022-12-23
  • 2021-07-15
  • 2021-12-18
猜你喜欢
  • 2021-05-18
  • 2021-09-19
  • 2021-11-15
  • 2021-08-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案