2011-05-15 89 views
0

我成功地檢索從我委託陣列中的所有對象的屬性,但是我努力讓所有對象的屬性,所以在我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?我是否必須採用與上述相同的方法,還是有更高效的方法?

回答

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. 
+0

非常好!非常感謝!完美的作品。 – medley 2011-05-18 13:08:45

0

混合泳, 您可以使appDelegate myArray爲公共方法,並從您需要的地方獲取您的信息值,在這種情況下,方法爲cellForRowAtIndexPath:

+0

嗨Zapko,感謝您的答覆,聽起來不錯...所以我在'AppDelegate'中公開'myArray',那麼我還需要在'MainView'中公開它?然後在我的'cellForRowAtIndexPath'我應該能夠得到'myArray.info'和'myArray.age'等......?謝謝你的時間! – medley 2011-05-18 12:23:54

+0

而且,在'cellForRowAtIndexPath'中看起來怎麼樣?它會是這樣的:'cell.textLabel.text = [delegate.myArray.info.name objectAtIndex:row];'?再次感謝! – medley 2011-05-18 12:32:03

+0

是的,我想它會看起來像這樣:'cell.textLabel.text =((MyInfo *)[delegate.myArray objectAtIndex.row]).name' – Zapko 2011-05-18 12:38:00

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]; 
+1

嗨,謝謝你的回答!我選擇了Deepak的解決方案,但您的迴應也非常有幫助,Zapko也是如此......如果可以的話,我會竭盡全力爲您提供服務! – medley 2011-05-18 13:10:09