@synthesize用于类变量

时间:2012-11-07 22:56:53

标签: objective-c ios xcode xcode4

//SecondPage.h
@property (nonatomic, copy) NSString *secondLabelText;
+(SecondPage *) newAlloc;
+(id) totalOpen;
+(void)setSecondLabelText;

和SecondPage.m

@synthesize secondLabelText;   //DOESNT WORK.
NSString* secondLabelText;   //DOES WORK. 

+(void) setSecondLabelText
{
    secondLabelText = @"TEST";
}

+(id) totalOpen
{
    [self setSecondLabelText];
    return secondLabelText;
}

有没有办法可以将合成用于类变量?

5 个答案:

答案 0 :(得分:2)

Objective-c没有类变量,部分原因是静态C变量(和类方法)通常可以完成相同的角色,因此添加它们并不是优先考虑的事项。

没有类变量意味着没有类属性,因此,没有类@Synthesize。

答案 1 :(得分:0)

您无法在类@interface声明中声明类变量,也不能@synthesize声明它们。

答案 2 :(得分:0)

@synthesize可以很容易地获取并设置接口部分中公开的属性。

类变量仅供类内部使用,不适用于外部世界。

答案 3 :(得分:0)

我认为您可能正在寻找静态变量?

答案 4 :(得分:0)

使用强关键字代替复制

 @property (nonatomic,strong) NSString *secondLabelText;