坏接收器类型'NSInteger'(又名'int')

时间:2012-09-22 12:22:25

标签: iphone nsinteger

int thumbCount = [_totalThumbs thumbsViewNumberOfThumbs:self];
  1. _totalThumbs是一个NSInteger类型属性。
  2. thumbsViewNumberOfThumbs是NSInteger类型的方法。
  3. 我需要在'int'中获取计数,以便我可以将它用于进一步的计算。 有什么建议?

3 个答案:

答案 0 :(得分:4)

这个问题没有多大意义。

首先,NSInteger不是一个类。它是long long的typedef。这意味着,您不能将其用作Objective-C消息接收器。

您可能想要的是在类实现它的对象上调用此thumbsViewNumberOfThumbs:方法并将其分配给NSInteger。或直接将其分配给int - 对于这样一个简单的案例,intNSInteger是兼容的类型(假设您不想使用不适合的大数字进入int ...)

答案 1 :(得分:2)

编译器是对的:NSInteger不是可能有方法的类型,因为它不是 id 派生类型。

如果你有一个 NSInteger作为参数的方法,你可以在冒号:之后传递它,而不是作为方法的接收者。

答案 2 :(得分:0)

int thumbCount = [self thumbsViewNumberOfThumbs:_totalThumbs];