3

ロードの準備をしているビューに変数を設定しようとしています。これを設定するためのコードは次のとおりです。

 NSInteger amountOfQuestions = [self.questions.text intValue];
    Timer_ViewController *tvc = [[Timer_ViewController alloc] initWithNibName:@"Timer_ViewController" bundle:nil];

    tvc.amountOfQuestions = &amountOfQuestions;

そしてここに@interfaceがありTimer_ViewControllerます:

@interface Timer_ViewController : UIViewController
{
    NSInteger amountOfQuestions;
}

    @property (nonatomic) NSInteger *amountOfQuestions;



@end

私はobjective-cに比較的慣れていないので、明らかな設計上の欠陥を指摘していただければ幸いです。

4

1 に答える 1

9

ポインタを作成するべきではありませんNSInteger。これはオブジェクト型ではなく、単なるtypedefプリミティブ型です。比較的新しいバージョンのXcodeを使用している場合は、次のようなものを使用できます。

@interface Timer_ViewController : UIViewController
@property (nonatomic, assign) NSInteger amountOfQuestions;
@end

そして、以下を使用して設定します。

tvc.amountOfQuestions = [self.questions.text intValue];

@synthesizeインスタンス変数やプロパティを宣言する必要はありません。Xcodeがそれを処理します。

于 2012-09-14T00:08:58.640 に答える