Win*_*ero 5 memory-management objective-c declared-property
如果我有这样的属性:
//test.h
@interface test
@property (nonatomic, readonly, weak) NSObject x;
@end
Run Code Online (Sandbox Code Playgroud)
在实现文件中重新定义为可读/写:
// test.m
@interface test ()
@property (nonatomic, readwrite) NSObject x;
@end
Run Code Online (Sandbox Code Playgroud)
我在.h中使用弱,但我在扩展中没有说什么,属性是否会保留"弱"说明符,还是会变为"强"?
重新定义属性时,是否会覆盖关键字strong/assign/weak?
使用Xcode 5.1.1进行的简单测试显示了该weak属性.对于assign和strong属性也是如此- 你可以在中指定它们.h并省略它们.m,如果你确实将它们包括在.m两个必须匹配中.
话虽如此,我不知道这是否记录在任何地方.但是,Objective-C的语义在任何地方都没有正式定义.因此使用风险自负.
建议:重复一遍.