Ios 不兼容的操作数类型(';NSUTEGER';(又名';无符号长';)和';id可为空';)
我有一个与将值赋给整数有关的问题:Ios 不兼容的操作数类型(';NSUTEGER';(又名';无符号长';)和';id可为空';),ios,objective-c,nsdictionary,Ios,Objective C,Nsdictionary,我有一个与将值赋给整数有关的问题: self.selectedGroup = GroupType //It is 3 from enum self.menuItemsPostion = @{[NSNumber numberWithInteger:GroupType]: @0, [NSNumber numberWithInteger:GroupTime]: @1}; NSUInteger itemToSelect = [self isCapturedEntriesContainClienst]
self.selectedGroup = GroupType //It is 3 from enum
self.menuItemsPostion = @{[NSNumber numberWithInteger:GroupType]: @0, [NSNumber numberWithInteger:GroupTime]: @1};
NSUInteger itemToSelect = [self isCapturedEntriesContainClienst] ? 1 : self.menuItemsPostion[[NSNumber numberWithInteger:self.selectedGroup]]; // Incompatible operand types ('NSUInteger' (aka 'unsigned long') and 'id _Nullable')
我从NSDictionary
中了解该方法
-(可空id)objectForKey:(id)键
可以返回可为null的对象,这就是问题所在
我对如何解决这个问题感兴趣 您必须获得对象的
integerValue
,才能将itemToSelect
分配给NSUInteger
NSUInteger itemToSelect = [self isCapturedEntriesContainClienst] ? 1 : [self.menuItemsPostion[[NSNumber numberWithInteger:self.selectedGroup]] integerValue];
您必须获取对象的
integerValue
,才能将项指定给您的itemToSelect
,即NSUInteger
NSUInteger itemToSelect = [self isCapturedEntriesContainClienst] ? 1 : [self.menuItemsPostion[[NSNumber numberWithInteger:self.selectedGroup]] integerValue];
Thx我完全忘了这个是的,它更好:)Thx我完全忘了这个是的,它更好:)