我已经阅读了关于UIImageView对象数组的其他线程,但我无法让它工作。请注意,我对Objective-c完全不熟悉。
我在.h文件中声明了一些UIImageView对象,如下所示:
@property (weak, nonatomic) IBOutlet UIImageView *obj1;
我也在同一个地方声明了一个数组:
@property (weak, nonatomic) IBOutlet NSArray *arr;
在viewDidLoad方法中,我想将obj1添加到arr。我怎么能这样做?
我已经测试过初始化arr并向其添加对象,但它不起作用。
_arr = [[NSMutableArray alloc] init];
[_arr addObjects: obj1];
汉克
答案 0 :(得分:0)
在调试器中确保_arr
不是nil
。您需要将其声明为
@property (strong, nonatomic) NSMutableArray *arr;
由于arr不是视图控制器的ui控件,因此您无需添加IBOutlet
。
此外,您的视图控制器拥有它,因此它应该是strong
而不是weak
。
你也应该使用NSMutableArray
代替NSArray
,因为只有第一个可以用来添加对象,这就是你对编译器这个对象类型的看法
答案 1 :(得分:0)
更改
@property (weak, nonatomic) IBOutlet NSArray *arr;
到
@property (strong, nonatomic) NSMutableArray *arr;
答案 2 :(得分:0)
如果你想在你的数组中添加UIImageView对象,你可以这样做。但是,如果你想在NSArrar初始化之后添加对象而不是必须声明NSMutableArray,因为你可以添加和删除对象,而不是addObject方法可行。
他们也不需要将NSMrray的NSArray声明为IBOutlet。