- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 iPad 6.1 模拟器,我不明白为什么当我尝试将另一个对象添加到 IBOutletCollection 时会导致错误
__NSArrayI addObject: unrecognized selector sent to instance.
我建立了一个测试项目,并在以下方面进行了证明:
ViewController.m
@interface ViewController ()
@property (strong, nonatomic) IBOutletCollection(UILabel) NSMutableArray *collection;
@property (strong, nonatomic) NSMutableArray *collection2;
@end
@implementation ViewController
-- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UILabel *label = [[UILabel alloc]init];
// Test 1 - Pass
NSMutableArray *array = [[NSMutableArray alloc]init];
[array addObject:label];
// Test 2 - Pass
_collection2 = [[NSMutableArray alloc]init];
[self.collection2 addObject:label];
// Test 3 - Fails
[self.collection addObject:label];
}
@end
就在测试 3 之前,如果我执行 lldb:p self.collection
它返回(NSMutableArray *) $0 = 0x071817b0 @"3 个对象"
它所指的三个对象是我通过 IB 连接的对象。不知何故,我认为 XCode 4.3.2 在撒谎,集合必须是 NSArray。
我也试过 [_collection addObject:label]
结果相同。
如有任何关于该主题的想法,我们将不胜感激。
最佳答案
如果我们调查您的错误消息,
__NSArrayI addObject:发送到实例的无法识别的选择器
什么是 __NSArrayI?
__NSArrayI 是不可变数组 (NSArray) 的代码字
这意味着,该错误试图告诉您您正在调用 NSArray 的 addObject: 方法。 NSArray 没有 addObject: 方法。
出了点问题。
self.collection 已经成为一个 NSArray,而不是 NSMutable 数组。可能是您正在将 NSArray 分配给 self.collection,或者您已将 self.collection 重新初始化为 NSArray。
关于ios - 向声明为 NSMutableArray 的 IBOutletCollection 添加更多对象会导致异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16405492/
我一直在使用 IBOutletCollections 将相同的行为应用于 IB 中连接的许多对象。这非常节省时间,但是单独建立 IB 中的每个对象和我的头文件中声明的 IBOutletCollecti
我在 Storyboard上有 10 个 uibutton,我已将它们与 iboutletcollections 链接起来。然后我使用循环从 uiimage 数组设置按钮背景图像。当我运行我的项目时,
我在 Storyboard上创建了 8 个不同的对象(4 对 UIImageView 和 textview)并将它们中的每一个连接到一个 IBOutletCollection,但是当我这样做时 for
我有一个疑问。请回答我这些问题。 1.为什么我们使用 IBOutletCollection 而不是 IBOutlet? 2.如果我们使用四个按钮使用IBOutletCollection,如何找到哪个按
这个问题在这里已经有了答案: Is IBOutletCollection guaranteed to be of correct order? (4 个答案) 关闭 9 年前。 这是一个非常简单的问
关于 IBOutletCollection 与 NSArray,我有两个相互矛盾的来源。首先说,将事物从界面链接到 socket 集合的顺序很重要,并且在 socket 集合中始终相同。例如。如果我们
我正在尝试在 Swift 的 iTunesU 中从“为 iphone 和 ipad 开发 ios7 应用程序”中复制 Stanford Matchismo 游戏。 第三讲77页slides ,它显示使
我在我的类中声明了 NSArray NSArray *labelsArray; 我把它变成了一个属性 @property (nonatomic,retain) IBOutlet
我正在尝试声明 IBOutletCollection。我想要做的是以一种不必逐个声明它们的方式管理多个按钮。 #import @interface WindowManager : NSObject
这是迄今为止我的代码: @IBOutlet var Boxes: [UIImageView]! @IBAction func Success(_ sender: Any) { if "" ==
我正在尝试迭代并在我的 TextView 集合中显示我的数组。 @property (strong, nonatomic) IBOutletCollection(UITextView) NSArray
我的问题是 - 如何修改 中每个标签的任何颜色,如 backgroundColor、textColor IBOutletCollection(UILabel) NSArray *smallLabels
我目前正在开发一个项目,其中 IBOutletCollection 中的每个按钮代表一副扑克牌中的一张牌。我遇到了一个问题,但当我添加所有 52 张卡时,我根据 indexOfObject 中的 in
我无法正确交换存储在 IBOutletCollection 中的两个 UIImageView。从概念上讲,我一定做错了什么。 假设我有一个索引数据的 NSMutableArray 和一个索引 UIIm
我有 30 个 UILabel,希望用作 IBOutlet。但是,当我尝试访问它们的 UILabel 属性时,我收到错误消息,提示我找不到类型为“id”的对象的属性 x。我对 Objective C
我已经创建了几个按钮的 IBOutletCollect : @property (retain, nonatomic) IBOutletCollection(UIButton) NSArray *al
我想做类似 UITabBarController 的事情。 UITabBarController 具有属性 viewControllers,我可以在 IB 中添加 UIViewController *
我有 UIImageView 的 IBOutletCollection现在我需要访问其中的图像,我该怎么做? 我只能通过这段代码访问第一个和列表 myCollection.first?.image m
Objective-C 和 iOS 开发的新手,希望能在这里得到帮助! 我写了一些这样的代码 IBOutletCollection(UILabel) NSArray *allLabels; 在 IB
我有几个 IBOutlet 并将它们与 IBOutletCollection 一起使用: @interface IBOutletCollectionViewController : UIVie
我是一名优秀的程序员,十分优秀!