3

これについてはあまり情報が見つからないため、どこから始めればよいか正確にはわかりません。私がやろうとしているのは、詳細ビューに UIButton を追加することです。これを押すと、「メモ」アプリに似た、テーブル ビューから次のコア データ オブジェクトが読み込まれます。それを行う方法に関する提案はありますか?ありがとう

4

4 に答える 4

2

委任パターンはどうですか?

マスター ビュー コントローラーをディテール ビュー コントローラーのデリゲートにします。「次へ」ボタンを押すと、デリゲート (テーブル ビュー コントローラー) にメッセージが送信されます。デリゲートは、次のオブジェクトで詳細ビューをセットアップします。

次のオブジェクトを特定するコードを詳細ビュー コントローラーに追加することはありません。テーブルビュー コントローラーには、これらのメソッドが既にあります。

于 2013-03-20T06:01:24.097 に答える
0

最善の策は、ロードするすべてのオブジェクトを順番にフェッチするフェッチ リクエストを実行することです。これは実際にはデータをフェッチしませんが、オブジェクトを「失敗」させます。フォルトは基本的に、実際にそのエンティティを取得することなく、コア データ エンティティへの参照を提供します。リクエストは、フェッチリクエストオブジェクトにロードしたソート記述子に基づいてソートされた NSArray を返します。次に、NSArray で現在使用しているインデックスを追跡するローカル プロパティを設定し、UIButton が押されるたびに配列内の次のオブジェクトをロードするだけです。配列からオブジェクトをロードすると、コア データはそのエンティティのすべての属性を自動的に取得します。

于 2013-03-19T18:00:44.257 に答える
0

モデルが tableView の各オブジェクトに対応する一意の値を持っている場合、オブジェクト プロパティを prepareForSegue の辞書の配列にロードし、それを詳細ビューに渡すことができます。 indexPath.row のオブジェクトと配列の objectAtIndex。

リスト内の位置を決定するために、選択した行のインデックスを取得してください。そうすれば、UIButton をタップするたびに辞書の配列をトラバースできます。詳細ビューにデータを入力するだけでは不十分な場合は、各ディクショナリ オブジェクトに対応する一意のモデル オブジェクトを取得できます。

元のオブジェクトを操作するほどきれいではありませんが、MySpecialPurpose で言及されている障害の問題を回避します。

于 2013-03-21T06:11:50.417 に答える