Objective c retain(或strong)属性与从nswindowcontroller继承的属性不匹配

Objective c retain(或strong)属性与从nswindowcontroller继承的属性不匹配,objective-c,xcode6,osx-yosemite,Objective C,Xcode6,Osx Yosemite,当我将我的应用程序(非ARC)与10.10 OS X兼容时,我收到了该属性的警告 @属性(非原子,保留)主文档*文档 其中,MasterDocument的类型为NSDocument 我也得到了警告 属性“document”上的retain(或strong)属性与从NSWindowController继承的属性不匹配 还将对同一属性获取另一个警告,如: 属性“document”上的“atomic”属性与从NSWindowController继承的属性不匹配** 有人能告诉我获取此警告的原因以及如何

当我将我的应用程序(非ARC)与10.10 OS X兼容时,我收到了该属性的警告

@属性(非原子,保留)主文档*文档

其中,
MasterDocument
的类型为
NSDocument

我也得到了警告

属性“document”上的retain(或strong)属性与从NSWindowController继承的属性不匹配

还将对同一属性获取另一个警告,如:

属性“document”上的“atomic”属性与从NSWindowController继承的属性不匹配**


有人能告诉我获取此警告的原因以及如何清除此警告。

您已经创建了
NSWindowController
的子类,并且正在添加父类上已经存在的属性

您收到此警告是因为您正在更改现有属性的定义,尤其是将内存管理从assign更改为retain

第二个警告是因为您正在将访问权限从
原子
更改为
非原子

原始属性(根据文档)为:

您可以省略重新声明属性,使用现有属性,或者至少使用相同的设置,例如:

@property (assign) MasterDocument *document;

当然要注意,您将使用
assign
而不是
retain
strong
,因此请确保正确处理内存。

您已经创建了
NSWindowController
的子类,并且正在添加父类上已经存在的属性

您收到此警告是因为您正在更改现有属性的定义,尤其是将内存管理从assign更改为retain

第二个警告是因为您正在将访问权限从
原子
更改为
非原子

原始属性(根据文档)为:

您可以省略重新声明属性,使用现有属性,或者至少使用相同的设置,例如:

@property (assign) MasterDocument *document;

当然要注意,您将使用
assign
而不是
retain
strong
,因此请确保正确处理内存。

您已经创建了
NSWindowController
的子类,并且正在添加父类上已经存在的属性

您收到此警告是因为您正在更改现有属性的定义,尤其是将内存管理从assign更改为retain

第二个警告是因为您正在将访问权限从
原子
更改为
非原子

原始属性(根据文档)为:

您可以省略重新声明属性,使用现有属性,或者至少使用相同的设置,例如:

@property (assign) MasterDocument *document;

当然要注意,您将使用
assign
而不是
retain
strong
,因此请确保正确处理内存。

您已经创建了
NSWindowController
的子类,并且正在添加父类上已经存在的属性

您收到此警告是因为您正在更改现有属性的定义,尤其是将内存管理从assign更改为retain

第二个警告是因为您正在将访问权限从
原子
更改为
非原子

原始属性(根据文档)为:

您可以省略重新声明属性,使用现有属性,或者至少使用相同的设置,例如:

@property (assign) MasterDocument *document;

当然,请注意,您将使用
assign
而不是
retain
strong
,因此请确保正确处理内存。

文档是我的自定义对象,因此我需要使用它,而不是使用从NSWindowController继承的属性。我可以这样做吗?保留“文档”以外的属性。希望这能解决问题。你说什么?是的,你可以通过使用不同的属性名来避免冲突,可能类似这样:
@property(nonatomic,strong)MasterDocument*MasterDocument感谢您的建议,您的回答解决并清除了警告。“文档”是我的自定义对象,因此我需要使用它,并且我没有使用从NSWindowController继承的属性。我可以这样做吗?保留“文档”以外的属性。希望这能解决问题。你说什么?是的,你可以通过使用不同的属性名来避免冲突,可能类似这样:
@property(nonatomic,strong)MasterDocument*MasterDocument感谢您的建议,您的回答解决并清除了警告。“文档”是我的自定义对象,因此我需要使用它,并且我没有使用从NSWindowController继承的属性。我可以这样做吗?保留“文档”以外的属性。希望这能解决问题。你说什么?是的,你可以通过使用不同的属性名来避免冲突,可能类似这样:
@property(nonatomic,strong)MasterDocument*MasterDocument感谢您的建议,您的回答解决并清除了警告。“文档”是我的自定义对象,因此我需要使用它,并且我没有使用从NSWindowController继承的属性。我可以这样做吗?保留“文档”以外的属性。希望这能解决问题。你说什么?是的,你可以通过使用不同的属性名来避免冲突,可能类似这样:
@property(nonatomic,strong)MasterDocument*MasterDocument感谢您的建议,您的答案将解决并清除警告。