- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 30 个 UILabel,希望用作 IBOutlet。但是,当我尝试访问它们的 UILabel 属性时,我收到错误消息,提示我找不到类型为“id”的对象的属性 x。我对 Objective C 很生疏,所以怀疑我做了一些根本性的错误。我已将所有标签分配给 xib 文件中的 IBCollection。
.h
@interface ViewController : UIViewController
{
IBOutletCollection(UILabel) NSArray *statPanels;
}
@property(retain) IBOutletCollection(UILabel) NSArray *statPanels;
@end
.m
@interface ViewController ()
@end
@implementation ViewController
@synthesize statPanels;
- (void)viewDidLoad
{
[super viewDidLoad];
statPanels = [[NSArray alloc] initWithObjects:[UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], nil ];
[statPanels objectAtIndex:3].hidden = YES;
}
最佳答案
如果您在界面构建器中连接了所有标签,那么您不必初始化 statPanels
数组。
删除这一行:
statPanels = [[NSArray alloc] initWithObjects:[UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], [UILabel alloc], nil ];
那条线正在创建一个新数组和一堆新标签,并丢失了你的 socket 。
此外,您需要像其他答案所说的那样转换:
((UILabel *) [statPanels objectAtIndex:3]).property = ....
关于objective-c - 使用 IBOutletCollections,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11976502/
我一直在使用 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
我是一名优秀的程序员,十分优秀!