0

UITableView にすべてのデータを表示したいと思います。変数が NULL の場合があります。場合によっては、1 行しかないセクションもあれば、データを持つ変数に応じて 2 行または 3 行になるセクションもあります。

現在、CellForRowAtIndexPath では、すべての If および else if ステートメントが非常に乱雑に見え始めています。つまり、numberOfRowsInSection の場合:

if (x!=NULL) return 1; else if (y!= NULL) return 2; else if ((x==NULL) && (y==NULL) return 3. 

cellForRowatIndexPath がどのように見えるかは想像することしかできません。15 の属性について同様のことを試してみてください! それは本当に厄介で、エラーの余地がたくさんあります。

plistでそれを行う方法があることは知っています。NULL 変数に基づいてセクションを動的に作成する plist を使用したことはありません。plistが許可する場合、アドバイスしてください。

他のベスト プラクティス アプローチはありますか? ぜひ聞きたいです!ありがとう。

4

2 に答える 2

0

ベスト プラクティスはNSFetchedResultsController、@Aaron が示唆するように an を使用することです。述語を正しく設定すると、NULL 値は取得されません。

[request setPredicate:[NSPredicate predicateWithFormat:@"(attributeThatMayBeNull != %@ AND booleanAttribute = %@)",[NSNull null],[NSNumber numberWithBool:NO]];

不要な値は取得されないため、numberOfRows dataSource メソッドで値を確認する必要はありません。fetchedResults カウントを使用するだけです。

于 2013-04-29T04:41:46.633 に答える