objective-c - 为什么registerDefaults中的setValue使用BOOL YES发出警告?

标签 objective-c ios

我的代码中包含以下几行:

[registerDefaults setValue:NO forKey:UserDefaultsGameSortAscendingKey];
[registerDefaults setValue:YES forKey:UserDefaultsReminderSortAscendingKey];

为什么我在第二行而不是第一行得到警告?

指针转换不兼容的整数
UserDefaultsGameSortAscendingKeyUserDefaultsReminderSortAscendingKey都定义为常量:
extern NSString *const UserDefaultsGameSortAscendingKey;
extern NSString *const UserDefaultsReminderSortAscendingKey;

最佳答案

您需要将BOOL包装为NSNumber,以将它们存储为默认值:

[registerDefaults setValue:[NSNumber numberWithBool:NO] forKey:UserDefaultsGame...];
[registerDefaults setValue:[NSNumber numberWithBOOL:YES] forKey:UserDefaultsGame...];

关于objective-c - 为什么registerDefaults中的setValue使用BOOL YES发出警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8116834/

相关文章:

iphone - 需要将数据从 Bundle 加载到我的 iPhone 应用程序中

iphone - 无法设置UITabBarController的moreNavigationController的右键

ios - 启动图像和打开动画是否导致我的应用程序卡住?

objective-c - 在分析从 Swift 编译的二进制文件时,是否可以找出没有符号的函数的 Swift 方法名称?

ios - 基本 GPUImage iOS7 应用程序视频卡住/不工作

ios - 不同 iOS 相机的图像大小?

java - Mac OSX 10.7.3 Intellij Idea 12 Android 模拟器崩溃

ios - 无法在 iOS 13 中阻止 VoIP 调用?

objective-c - 使用 AVVideoCompositionCoreAnimationTool 在 CALayer 中将视频与静态图像混合

ios - MapKit 注释消失