NSInteger乘以任意数字时无效的操作数

时间:2017-08-04 16:34:43

标签: ios objective-c xcode

我正在尝试打印整数属性乘以另一个数字,如下所示:

NSLog(@"ReceivedData: %i", (self.receivedData*10));

但是Xcode以红色突出显示该行,并说:无效的操作数

我尝试了以下

NSInteger *newVal = @([self receivedData] * 10);
NSLog(@"ReceivedData: %i", (int) self.receivedData);

但我收到invalid operands error

receivedData is NSInteger*

如何解决它

1 个答案:

答案 0 :(得分:1)

您没有将NSInteger与数字相乘,而是将指向NSInteger的指针与数字相乘,这是不允许的,因为将指针乘以数字是无意义的。

99%接收数据的概率不应该是NSInteger *而是NSInteger。 NSInteger不是对象。

该行

NSInteger *newVal = @([self receivedData] * 10);

表明你应该回到基础并真正学习你正在使用的编程语言。