2011-11-01 137 views
0

我有一個UIView從Viewcontroller獲取init,但是,當我嘗試將它傳遞給一個數組時,該數組在init中返回。但是,如果我在UIView上做一個按鈕,然後檢查傳遞的數組,然後我可以看到它正確加載。所以我的問題是,我怎麼可以將數組傳遞給UIView,以便當UIView被分配和初始化時,我可以加載數組,而不是之後。從UIViewController初始化UIView數組

感謝您的幫助。

+0

你可以發佈你已經嘗試過的代碼...從它的聲音你需要做一個新的'initWithArray:(NSArray *)數組函數,將保存你所說的數組 –

回答

0

添加到您的UIView子類像

- (id)initWithFrame:(CGRect)frame dataArray:(NSArray*)array_ { 
    self = [super initWithFrame:frame]; 
    if (self) { 
     // Initialization code 
     myArray = array_; 


    } 
    return self; 
} 

而且myArray應該是你的類的字段(或屬性)。

+0

爲什麼'array_ '而不是'數組'? –

+0

是的,在我看來,尾隨下劃線是非常糟糕的風格。大多數人使用它,甚至一些Apple示例代碼也是這樣做的,就是標記* instance *變量。爲什麼要打破這種習慣並將其用於方法參數?很混亂。 –

+0

感謝您的注意,夥計們。也許我需要在這裏發佈更多的代碼來修正我的風格:) –