2011-11-01 50 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

感谢您的注意,伙计们。也许我需要在这里发布更多的代码来修正我的风格:) –