美文网首页
xcode编译报错property follows Cocoa

xcode编译报错property follows Cocoa

作者: Jackson_Z | 来源:发表于2021-01-20 11:43 被阅读0次

报错原因是属性名以new, copy等关键字开头

处理方案:

1. Renaming that property:

@property (strong, nonatomic) NSString *theNewTitle;

2. Keeping the property name and specifying a getter name that doesn’t begin with one of the special method name prefixes:

@property (strong, nonatomic, getter=theNewTitle) NSString *newTitle;

3. Keeping both the property name and the getter name, and telling the compiler that, even though the getter name starts with new, it belongs to the none method family as opposed to the new method family:

#ifndef __has_attribute
#define __has_attribute(x) 0  // Compatibility with non-clang compilers
#endif

#if __has_attribute(objc_method_family)
#define BV_OBJC_METHOD_FAMILY_NONE __attribute__((objc_method_family(none)))
#else
#define BV_OBJC_METHOD_FAMILY_NONE
#endif

@interface ViewController : UIViewController
@property (strong, nonatomic) NSString *newTitle;
- (NSString *)newTitle BV_OBJC_METHOD_FAMILY_NONE;
@end

Note that even though this solution allows you to keep newTitle as both the property name and the getter name, having a method called -newTitle that doesn’t return an object owned by the caller can be confusing for other people reading your code.

原文

相关文章

网友评论

      本文标题:xcode编译报错property follows Cocoa

      本文链接:https://www.haomeiwen.com/subject/hgfkzktx.html