2014-02-20 61 views
1

我讀過有關UIImageView對象數組的其他線程,但是我無法使它工作。請注意,我對Objective-c完全陌生。將UIImageView對象添加到數組(目標C)

我在.H宣佈一些UIImageView的對象 - 文件是這樣的:

@property (weak, nonatomic) IBOutlet UIImageView *obj1; 

我也有在同一地點宣佈爲數組:

@property (weak, nonatomic) IBOutlet NSArray *arr; 

在viewDidLoad中,我的方法想要將arj添加到obj1。我怎樣才能做到這一點?

我已經測試過初始化arr並向它添加對象,但它不起作用。

_arr = [[NSMutableArray alloc] init]; 

[_arr addObjects: obj1]; 

漢克

+0

IBOutlet表示您將該對象連接到Interface Builder(因此爲IB)。一個數組不是在那裏連接的東西。你必須用不同的方式來定義它,才能把它連接起來。 – Liron

+0

你應該接受一個答案,如果他們已經幫忙,或者下次沒有人會幫你:) – medvedNick

+0

Sry。還是個新手。現在:) – iHank

回答

0

確保在調試器_arrnil。您需要將其聲明爲

@property (strong, nonatomic) NSMutableArray *arr; 

因爲改編是不是視圖控制器上的UI控件,你並不需要添加IBOutlet

此外,您的視圖控制器擁有它,所以它應該是strong而不是weak

您還應該使用NSMutableArray代替NSArray,因爲只有第一個可用於添加對象,這是你如何對這個對象

0

變化

@property (weak, nonatomic) IBOutlet NSArray *arr; 
類型的編譯器說

@property (strong, nonatomic) NSMutableArray *arr; 
0

如果你想添加的UIImageView對象在你的陣列,你可以做that.But的事情是,如果你想添加對象在NSArrar初始化之後,你必須聲明NSMutableArray,因爲你可以添加和刪除對象,而不是addObject方法。

此外,他們不需要將NSMutableArray的NSArray聲明爲IBOutlet。