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にアクセスする「構造体やユニオンではないもののメンバーのリクエスト」を取得します。
何が悪いのか考えてみませんか?
どうも