答案 0 :(得分:0)
答案 1 :(得分:0)
答案 2 :(得分:0)
答案 3 :(得分:0)
我也来自.NET背景,我看到你正在尝试做什么。
我认为你也可以尝试这个(以获得更多的C#-esque行为):
.h文件
@class AnotherClass;
@interface MyClass : NSObject {
AnotherClass* another;
}
@property (nonatomic,retain) AnotherClass* Another;
@end
.m文件
@implementation MyClass
@synthesize Another=another;
// Implementing a custom accessor
- (AnotherClass *)Another
{
if (!another) {
AnotherClass *other = [[AnotherClass alloc] init];
another = other;
}
return another;
}
@end
这样,无论您是否自己创建了属性,都可以确保创建该属性。然后,您可以在init
的{{1}}方法中实现默认值。
我知道这违反了Objective-C编码模式,但它是让它“工作”的一种方式。 :)