2016-10-25 35 views
0

我与价值的NSUInteger的分配连接的问题:数不兼容类型(“NSUInteger”(又名“无符号长”)和“ID _Nullable”)

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该方法。

- (nullable id)objectForKey:(id)key;可以返回可为空的对象,这就是为什么是一个问题。

我很感兴趣如何才能解决这个问题。

回答

2

你必须得到integerValue你的对象才能分配给你的itemToSelect这就是NSUInteger

NSUInteger itemToSelect = [self isCapturedEntriesContainClienst] ? 1 : [self.menuItemsPostion[[NSNumber numberWithInteger:self.selectedGroup]] integerValue]; 
+0

THX我完全忘了这个 –

+2

'@(selectedGroup)'更简洁... – Droppy

+0

是的,它是更好:) –

相关问题