无效的接收器类型'NSUInteger'

时间:2010-05-01 23:28:44

标签: core-data warnings nsarraycontroller nsuinteger

我有一个Core Data实体,其头文件如下所示:

@interface MyEntity : NSManagedObject
{
}

@property (nonatomic, retain) NSNumber * index;

@end

它的实现文件如下所示:

@implementation MyEntity

@dynamic index;

@end

现在,我有一段代码如下:

NSArray* selectedObects = [myEntityArrayController selectedObjects];
NSUInteger theIndex = [[[selectedObects objectAtIndex:0] index] unsignedIntegerValue];

'myEntityArrayController'对象是一个NSArrayController,它管理MyEntity的所有实体。此代码正确执行,但XCode始终为最后一行代码提供警告“无效接收器类型'NSUInteger'”。出于某种原因,XCode认为index方法返回NSUInteger。我不确定为什么会这么想,因为'objectAtIndex'返回一个'id'类型的对象。

我已经多次清理了这个项目,这些警告已经暂停了一段时间。任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:1)

展开您的代码,使每条消息都在自己的行上,然后使用调试器遍历它,以确保每个对象都是您认为的。