-2

NSIntegerViewController で変数を宣言したいのですが、エラーが発生します。

私のViewController.hには

@interface MainViewController : UIViewController{
    NSInteger currentSection;
    //Other stuff  
  }

  @property (assign,nonatomic) NSUInteger currentSection;
@end

そして私のViewController.mには次のものがあります:

@implementation MainViewController

//Other stuff
@synthesize currentSection;

しかし、私はこのエラーが発生します:

プロパティ 'currentSection' ('NSUinteger' (別名 'unsigned int')) のタイプは、ivar 'currentSection' ('int') のタイプと一致しません

1 つの簡単な指示でこのエラーが発生するのはなぜですか?
Xcode 4.4 と ARC を使用しています。

4

1 に答える 1

1

NSUIntegerivar を使用してプロパティを合成するようにコンパイラに要求していますNSInteger。プロパティの型を決定し、それに応じて ivar の型を調整する必要があります。

符号なし整数は (暗黙的に符号付きの) 整数と同等ではないことに注意してください。一方を他方にキャストすると、予期しない結果が生じる場合があります。

于 2012-08-23T19:01:46.167 に答える