我目前正在使用iOS 5 SDK开发我的应用程序。
我试图使一个NSString属性,然后合成它在.m文件(我已经这样做之前没有问题)。现在,我遇到了这样的问题:“语义问题:属性的合成getter遵循Cocoa命名约定,用于返回‘拥有的’对象。”
这是我的代码:
. h
@interface ViewController : UIViewController {
NSString *newTitle;
}
@property (strong, nonatomic) NSString *newTitle;
.m
@synthesize newTitle;
有人知道我该怎么补救吗?
谢谢! !
NS_RETURNS_NOT_RETAINED用于解决命名问题。
@property (nonatomic, copy) NSString *newTitle NS_RETURNS_NOT_RETAINED;
我们可以找到它的定义如下:
#define NS_RETURNS_NOT_RETAINED __attribute__((ns_returns_not_retained))
'ns_returns_not_retained'属性是'ns_returns_retained'的补充。当一个函数或方法似乎遵循Cocoa约定并返回一个保留的Cocoa对象时,此属性可用于指示返回的对象引用不应被视为返回给调用者的“拥有”引用。Foundation框架定义了一个宏NS_RETURNS_NOT_RETAINED,它在功能上与下面所示的宏相同。
NS_RETURNS_NOT_RETAINED用于解决命名问题。
@property (nonatomic, copy) NSString *newTitle NS_RETURNS_NOT_RETAINED;
我们可以找到它的定义如下:
#define NS_RETURNS_NOT_RETAINED __attribute__((ns_returns_not_retained))
'ns_returns_not_retained'属性是'ns_returns_retained'的补充。当一个函数或方法似乎遵循Cocoa约定并返回一个保留的Cocoa对象时,此属性可用于指示返回的对象引用不应被视为返回给调用者的“拥有”引用。Foundation框架定义了一个宏NS_RETURNS_NOT_RETAINED,它在功能上与下面所示的宏相同。