-2

我想NSInteger在 ViewController 中声明一个变量,但出现错误。

在我的 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”)不匹配

为什么我用一个简单的指令就会得到这个错误?
我正在使用带有 ARC 的 Xcode 4.4。

4

1 回答 1

1

您要求编译器将NSUInteger属性与NSIntegerivar 合成。您必须决定属性的类型应该是什么,并相应地调整 ivar 的类型。

请注意,无符号整数不等同于(隐式带符号的)整数。将一个转换为另一个可能会给您带来意想不到的结果。

于 2012-08-23T19:01:46.167 回答