加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 在ObjC代码上使用LLVM 3.0抑制属性定义警告

发布时间:2020-12-14 17:37:01 所属栏目:百科 来源:网络整理
导读:由于 Xcode 4.2附带LLVM 3.0,我们终于可以使用自动合成.您可以通过在Apple LLVM编译器3.0 – 语言部分中将以下两个标志添加到其他C标志来打开它: -Xclang -fobjc-default-synthesize-properties 现在你可以摆脱你的@synthesize样板代码,如果你只想要属性合
由于 Xcode 4.2附带LLVM 3.0,我们终于可以使用自动合成.您可以通过在Apple LLVM编译器3.0 – 语言部分中将以下两个标志添加到其他C标志来打开它:

> -Xclang
> -fobjc-default-synthesize-properties

现在你可以摆脱你的@synthesize样板代码,如果你只想要属性合成的默认设置(我想我们已经使用了自动引用计数).

当我点击构建时,编译器警告我缺少@synthesize等语句,如下所示:

MyController.h:34:43: warning: property 'myProperty' requires method 'myProperty' to be defined - use @synthesize,@dynamic or provide a method implementation [3]
@property (strong,nonatomic) MyClass *myProperty;

我更喜欢无警告的构建,所以问题是:我怎样才能抑制这种警告,因为显然它们已经没有意义了.

解决方法

你确定-Xclang被传递给编译器

clang -x objective-c -Xclang -fobjc-default-synthesize-properties -c TestClass.m -o TestClass.o

没有显示任何警告

clang -x objective-c -fobjc-default-synthesize-properties -c TestClass.m -o TestClass.o

这是正确的方式,因为没有合成属性

这是我使用的TestClass.m:

#import <Foundation/Foundation.h>

@interface TestClass : NSObject

@property (nonatomic,strong) NSObject * test;

@end

@implementation TestClass

@end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读