我从我的委托中成功检索了一个数组,但是我很难获得所有的对象属性,所以在我的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.age
和info.height
- 如何将这些属性转换为其他textLabel
?我是否必须采用与上述相同的方法,或者是否有更有效的方法?
答案 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];