2010-06-04 71 views
1

我有一個關於我想與CoreData一起使用的相當先進的DataModel的問題。CoreData和訪問關係的問題:請求成員不是結構或聯合的成員

在我詳細介紹我到目前爲止所做的事情之前,我會描述我想要做的事情。

我有一個留在一個房間,並有偏好設置的酒店客人名單。一旦準備就緒,用戶應該選擇一個訪客並查看數據,並且還應該能夠添加新的訪客,選擇房間(也由應用程序維護)並選擇他們的偏好(用戶也可以添加新的偏好)。客人可以沒有或有很多偏好。

所以這裏是我到目前爲止。我創建了3個實體: - 具有roomnumber的房間 - 具有名稱的首選項 - 具有名稱的GuestInfo - >與這些關係室(目的地房間)和首選項(具有「多對多關係」的目的地首選項)當你創建一個託管對象類。

到目前爲止這麼好。現在我有一個顯示所有客人的UITableViewController,當我點擊一個客人時,我有另一個顯示詳細信息(DetailsViewController)的UITableViewController。單擊首選項,它將轉到另一個可以選擇首選項的UITableViewController。我遇到的問題是我想實際訪問DetailsViewController中的首選項。這裏是我的cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) 
    { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:CellIdentifier] autorelease]; 
     cell.editingAccessoryType = UITableViewCellAccessoryDisclosureIndicator; 
    } 

switch (indexPath.row) 
{ 
    case 2: 
    cell.textLabel.text = @"Preferences"; 

    NSEnumerator *e = [info.prefs objectEnumerator]; 
    id collectionMemberObject; 

    while ((collectionMemberObject = [e nextObject])) 
    { 

    Preferences *prefInfo = collectionMemberObject;   
    DebugLog(@"===> %@", prefInfo.name); 

    } 

    break; 
} 

info是GuestInfo我傳遞給DetailsViewController。

現在,我確實得到了「請求會員的東西不是結構或聯盟」訪問prefInfo.name。

任何想法最新怎麼了?

THX

回答

3

我有同樣的問題,解決方法很簡單,只要一旦你聽到它,你會碰你的頭撞牆;)

試試[prefInfo名],而不是prefInfo.name。

+0

沒錯,點語法不適用於泛型指針。它的許多缺點之一。 – 2010-06-04 17:21:24

相關問題