从委托数组中获取所有对象属性

时间:2011-05-15 14:06:09

标签: iphone arrays delegates tableview

我从我的委托中成功检索了一个数组,但是我很难获得所有的对象属性,所以在我的AppDelegate

    arrayOne = [[NSMutableArray alloc] init];
    NSMutableArray *tempArray1 = [self myArray];
// Add names to arrayOne
    for (MyInfo *info in tempArray1) {
        [arrayOne addObject:info.name];
    }

然后我在MainView

中检索此内容
    cell.textLabel.text = [delegate.currentlyUsedArray objectAtIndex:row];

这样可行,但myArray包含其他属性,例如:info.ageinfo.height - 如何将这些属性转换为其他textLabel?我是否必须采用与上述相同的方法,或者是否有更有效的方法?

3 个答案:

答案 0 :(得分:0)

混合, 您可以将appDelegate myArray的方法设为公开,并从您需要的地方获取您的信息值,在本例中为cellForRowAtIndexPath:方法。

答案 1 :(得分:0)

为什么不能只将info添加到数组中。

for (MyInfo *info in tempArray1) {
    [arrayOne addObject:info];
}

以后再设置它。

MyInfo *info = (MyInfo*)[delegate.currentlyUsedArray objectAtIndex:row];
cell.textLabel.text = info.name;

// Other fields should also accessible directly such as info.age and info.height.

答案 2 :(得分:0)

根据Zapko的回答,您在MainView中的代码看起来像是在委托对象的myArray属性中访问MyInfo对象的各种属性:

cell.textLabel.text  = [(MyInfo *)[delegate.myArray objectAtIndex:row] name];
cell.ageLabel.text   = [(MyInfo *)[delegate.myArray objectAtIndex:row] age];
cell.heigtLabel.text = [(MyInfo *)[delegate.myArray objectAtIndex:row] height];