0

セクションの日付を含むテーブルビューがあります。日付に該当するアイテムの数に基づいて、各セクションに正しい行数を設定したいと思います。

これを行うためにNSMutableDictionary、日付をキーとして使用し、値のオブジェクトの配列を持つを作成しました。辞書にデータが入力されていることを確認しましたが、このメソッドでは、辞書はすべてのキーの長さに対して0numberOfRowsInSectionを返します。なぜこうなった?メソッドの前に呼び出されますか?numberOfRowsInSectionviewDidLoad

これが私のnumberOfRowsInSection方法です

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [[itemsByDate objectForKey:[datesDB objectAtIndex:section]] count];
}

NSMutableDictionaryこれが私のviewDidLoadメソッドに入力する方法です

 [itemsByDate setValue:items forKey:[datesDB objectAtIndex:i]];
4

2 に答える 2

0

これを試してみると問題が解決するかもしれません...

- (void)viewDidLoad
{
      /// alloc this dictionary here
      ///retain dictionary after add data. 
      [itemByDate retain];
}
-(void)viewDidAppear:(BOOL)animated{
     [yourtableView reloadData];
}

:)

于 2012-10-15T05:33:30.440 に答える
0

tableView を操作するときによく犯す間違いは、テーブルビューのソースであるディクショナリ/配列にメモリを割り当てるのを忘れていることです。

ばかげているように聞こえるかもしれません。同じことを確認できますか?

于 2012-10-15T06:16:49.117 に答える