显然 ++ 表示 Objective-C 整数 属性 的 +4 或 +8
Apparently ++ means +4 or +8 for an Objective-C integer property
出于某种原因,当我尝试增加我的一个整数时,它增加了四而不是一!我唯一能想到的是 .h 文件有问题。整数声明如下:
@property (nonatomic, assign) int *number;
并且在代码中我通过执行 self.number++;
来递增它。我已经检查过,该方法只运行一次就显示在屏幕上,当我直接 NLog
绕过它时,它显示它递增 4。更糟糕的是,我尝试将其更改为 NSInteger
哈哈,它增加了 8!
从 属性 定义中删除 *
。
当你有int
时,++
是整数递增。但是,当您有一个 int*
时,您有一个指针,而 ++
是指针增量,将指针移动一个 int (sizeof(int)
) 的大小。
出于某种原因,当我尝试增加我的一个整数时,它增加了四而不是一!我唯一能想到的是 .h 文件有问题。整数声明如下:
@property (nonatomic, assign) int *number;
并且在代码中我通过执行 self.number++;
来递增它。我已经检查过,该方法只运行一次就显示在屏幕上,当我直接 NLog
绕过它时,它显示它递增 4。更糟糕的是,我尝试将其更改为 NSInteger
哈哈,它增加了 8!
从 属性 定义中删除 *
。
当你有int
时,++
是整数递增。但是,当您有一个 int*
时,您有一个指针,而 ++
是指针增量,将指针移动一个 int (sizeof(int)
) 的大小。