ios - 不兼容的操作数类型 ('NSUInteger'(又名 'unsigned long')和 'id _Nullable')

标签 ios objective-c nsdictionary

我在将值分配给 NSUInteger 时遇到问题:

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; 可以返回可为 null 的对象,这就是问题所在。

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

最佳答案

您必须获取对象的 integerValue 才能分配给您的 itemToSelect,即 NSUInteger

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

关于ios - 不兼容的操作数类型 ('NSUInteger'(又名 'unsigned long')和 'id _Nullable'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40242144/

相关文章:

ios - 如何使 Swift 中的类扩展具体类并符合多种协议(protocol)?

ios - 如何将图像添加到 UITableViewHeaderFooterView?

iphone - 如何计算字典中的重复对象?

swift - 无法在 Label.text 中转换 NSString

ios - [iOS]使用 CFDataRef 创建图像源时,Image I/O 是否缓存解码后的图像?

ios - 如何从 NSDictionary 的 NSArray 的 NSArray 迭代和检索值

ios - 如何快速处理内存泄漏?

ios - transitionWithView 不执行翻转动画

ios - 如何在应用程序加载时在启动屏幕上播放 MP4 视频

ios - 如何找到 Storyboard制作的 View Controller 实例