2016-10-25 1 views
0

У меня есть вопрос, связанный с присвоением значения к NSUInteger:Несовместимые типы операндов («NSUInteger» (он же «неподписанных долгое») и «идентификатор _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

Да, это лучше :) –

Смежные вопросы