2
//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;
}

クラス変数に合成を使用する方法はありますか?

4

5 に答える 5

2

Objective-c にはクラス変数がありません。その理由の 1 つは、静的 C 変数 (およびクラス メソッド) が同じ役割を果たすことが多いためです。

クラス変数がないということは、クラス プロパティがないことを意味するため、クラス @Synthesize はありません。

于 2012-11-07T23:16:17.390 に答える
0

私はあなたが静的変数を探しているかもしれないと思いますか?

于 2012-11-07T23:11:18.177 に答える
0

コピーの代わりに強力なキーワードを使用する

 @property (nonatomic,strong) NSString *secondLabelText;
于 2012-11-08T05:25:39.663 に答える
0

クラス宣言でクラス変数を宣言することは@interfaceできません@synthesize

于 2012-11-07T22:59:05.767 に答える
0

@synthesize は、インターフェイス セクションで公開されているプロパティの取得と設定を簡単にするためにあります。

クラス変数は、外部の世界ではなく、クラス内でのみ内部的に使用されます。

于 2012-11-07T23:04:36.963 に答える