我需要在objective-c中使用一个布尔array.我基本上已经设置好了,但是编译器在下面的语句中抛出了一个警告:

[updated_users replaceObjectAtIndex:index withObject:YES];

我敢肯定,这是因为"是"根本不是一个对象;这是原始的.无论如何,我需要这样做,并将非常感谢有关如何实现它的建议.

谢谢

推荐答案

没错,就是这样:NS*容器只能存储objective-C对象,不能存储基本类型.

您应该能够通过将其包装在NSNumber中来实现您想要的:

[updated_users replaceObjectAtIndex:index withObject:[NSNumber numberWithBool:YES]]

或者使用@(YES)BOOL包裹在NSNumber

[updated_users replaceObjectAtIndex:index withObject:@(YES)]]

然后,您可以拉出布尔值:

BOOL mine = [[updated_users objectAtIndex:index] boolValue];

Objective-c相关问答推荐

如何限制 UITextField 中的特殊字符(点和下划线除外)?

在哪里可以找到 iPad 示例代码

UITabBar 中的自定义 colored颜色

UITableViewCell 突出显示时使标签的背景清晰

将 Objective-C 指针类型NSString *转换为 C 指针类型CFStringRef(又名const struct __CFString *)需要桥接转换

使用 UIScrollView 用两根手指滚动

调用了dismissViewControllerAnimated,但没有解除ViewController

仅替换 NSString 中子字符串的第一个实例

Objective-C (cocoa) 等价于python的endswith/beginswith

如何判断 Cocoa 和 Objective-C 中是否存在文件夹?

在 iOS 和 Mac OS X 应用程序中使用 C++

当单元格全屏时,为什么 UICollectionView 会记录错误?

如何为图层 shadowOpacity 设置动画?

UILabel 的角半径属性在 iOS 7.1 中不起作用

无法加载从笔尖引用的图像

iOS 8 Mapkit Objc 无法获取用户位置

ios 11 UITabBar UITabBarItem 定位问题

AppDelegate 的当前视图控制器?

将 NSDate 舍入到最接近的 5 分钟

如何更新 Core Data 中的现有对象?