c - Objective C boolean 数组

标签 c objective-c arrays boolean primitive

我需要在objective-c 中使用一个 boolean 数组。我已经基本设置好了,但是编译器会在以下语句中抛出警告:

[updated_users replaceObjectAtIndex:index withObject:YES];

这是,我敢肯定,因为 YES 根本就不是一个对象;这是一个原始的。无论如何,我需要这样做,并且非常感谢有关如何完成它的建议。

谢谢。

最佳答案

没错,就是这样:NS* 容器只能存储 Objective-C 对象,不能存储原始类型。

你应该能够通过将它包装在一个 NSNumber 中来完成你想要的:

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

或使用 @(YES)BOOL 包装在 NSNumber

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

然后就可以拉出boolValue了:

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

关于c - Objective C boolean 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/628343/

相关文章:

c - scanf 输入验证也 1 scanf 获取 2 个输入并将其发送到下一个 var 而无需

iphone - UIButton 和 UILabel 无法从 View 中移除

arrays - 找到不在列表中的最小整数

c# - 如何在结构中声明一个结构数组?

c++ - 数组或 vector 中的元素改变C++

c# - 从 C# 中的恒定位宽扩展的符号

c - 在C中的链表的末尾或开头添加节点

c - 函数原型(prototype)应该总是在它的头文件中吗?

ios - AVAudioPlayer.currentTime 在更改速率时给出错误的值

iphone - iOS 低内存崩溃,但内存使用率非常低