如何在objective-c中设置协议属性的默认值?

时间:2013-10-04 11:03:06

标签: objective-c delegates protocols default-value

我有这个协议。

//MyProtocolClass.h
@protocol MyProtocolDelegate <NSObject>

@optional
@property (nonatomic, assign) int anInteger;

@end

@interface MyProtocolClass:NSObject
@end

然后我在这个课上使用这个协议:

//.h
@interface MyClass:NSObject <MyProtocolDelegate>
@end

//.m
@implementation MyClass
@synthesize anInteger;

    -(void) aFunction
    {
        NSLog(@"%d",self.anInteger);
        self.anInteger = 200;
        NSLog(@"%d",self.anInteger);
    }

@end

我想在变量anInteger上设置默认值100,以便它保存用户设置的值。

NSLogs应输出:

100
200

我知道如何使用函数执行此操作但我可以使用属性执行此操作吗? 谢谢。

2 个答案:

答案 0 :(得分:1)

属性只是一对方法,一个getter和一个setter。而已。它没有说明如何实现getter和setter。没有理由认为存在支持“价值”。

答案 1 :(得分:0)

设置属性值

-(void)setAnInteger:(int)anInteger
{
    self.anInteger = anInteger;
}

并像这样打电话,

[self setAnInteger:100];
[self setAnInteger:200];