我有一個UIView從Viewcontroller獲取init,但是,當我嘗試將它傳遞給一個數組時,該數組在init中返回。但是,如果我在UIView上做一個按鈕,然後檢查傳遞的數組,然後我可以看到它正確加載。所以我的問題是,我怎麼可以將數組傳遞給UIView,以便當UIView被分配和初始化時,我可以加載數組,而不是之後。從UIViewController初始化UIView數組
感謝您的幫助。
我有一個UIView從Viewcontroller獲取init,但是,當我嘗試將它傳遞給一個數組時,該數組在init中返回。但是,如果我在UIView上做一個按鈕,然後檢查傳遞的數組,然後我可以看到它正確加載。所以我的問題是,我怎麼可以將數組傳遞給UIView,以便當UIView被分配和初始化時,我可以加載數組,而不是之後。從UIViewController初始化UIView數組
感謝您的幫助。
添加到您的UIView子類像
- (id)initWithFrame:(CGRect)frame dataArray:(NSArray*)array_ {
self = [super initWithFrame:frame];
if (self) {
// Initialization code
myArray = array_;
}
return self;
}
而且myArray
應該是你的類的字段(或屬性)。
爲什麼'array_ '而不是'數組'? –
是的,在我看來,尾隨下劃線是非常糟糕的風格。大多數人使用它,甚至一些Apple示例代碼也是這樣做的,就是標記* instance *變量。爲什麼要打破這種習慣並將其用於方法參數?很混亂。 –
感謝您的注意,夥計們。也許我需要在這裏發佈更多的代碼來修正我的風格:) –
你可以發佈你已經嘗試過的代碼...從它的聲音你需要做一個新的'initWithArray:(NSArray *)數組函數,將保存你所說的數組 –