1

CoreDataで使用したいかなり高度なDataModelについて質問があります。

これまでにやったことの詳細に入る前に、やりたいことを説明します。

私は1つの部屋に滞在し、好みを持っているホテルのゲストのリストを持っています。準備ができたら、ユーザーはゲストを選択してデータを表示し、新しいゲストを追加できるようにする必要があります。また、部屋を選択し(アプリケーションによっても維持されます)、好みを選択します(ユーザーは新しい好みを追加することもできます)。ゲストは、設定をまったくまたは多く持つことができません。

これが私がこれまでに持っているものです。3つのエンティティを作成しました:-部屋番号のある部屋-名前のある設定-名前のあるGuestInfo->これらの関係の部屋(宛先の部屋)と設定(「To-ManyRelationship」のある宛先の設定)管理対象を作成すると、設定はNSSetになりますオブジェクトクラス。

ここまでは順調ですね。これで、すべてのゲストを表示するUITableViewControllerができました。ゲストをクリックすると、詳細を表示する別のUITableViewController(DetailsViewController)があります。環境設定をクリックすると、別の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は、DetailsViewControllerに渡すGuestInfoです。

これで、prefInfo.nameにアクセスする「構造体やユニオンではないもののメンバーのリクエスト」を取得します。

何が悪いのか考えてみませんか?

どうも

4

1 に答える 1

3

私は同じ問題を抱えていました、解決策はあなたがそれを聞いたら壁に頭をぶつけるのと同じくらい簡単です;)

prefInfo.nameの代わりに[prefInfoname]を試してください。

于 2010-06-04T15:11:43.500 に答える