时间:2010-07-24 15:03:48

标签: objective-c properties

4 个答案:

答案 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编码模式,但它是让它“工作”的一种方式。 :)