2010-12-12 3 views
0

でカウント、私はこれを試してみました:Objective Cの収納テーブルの行は、私は(失敗した)変数にuitableの内の行数を保存しようとしてる変数

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
id <NSFetchedResultsSectionInfo> sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section]; 
NSNumber *rowsNumber = [NSNumber numberWithInt: ([[self.fetchedResultsController sections] objectAtIndex:section])]; 
NSLog(@"%i", rowsNumber); 
return [sectionInfo numberOfObjects]; 
} 

これは作業だけでログに記録されていません6桁の数字?誰も私がこれをどのように保存できるかを推測する危険がありますか?

+0

である必要があります。[sectionInfo numberOfObjects]をrowsNumberに保存しようとしていますか? –

+0

はい、私がやろうとしていることです。 – benhowdle89

+0

OK、Yujiがあなたの質問にちょうど答えました。 –

答えて

2

Objective-Cは、非オブジェクトとオブジェクトを自動的に変換しません。 (すなわち、「自動ボックス」しない)

さらに、フォーマット指定子%iではなく、 unbox仕様です。あなたはNSNumber*numを持っているのであれば、あなたはどちらか、あまりにも、

NSLog(@"%@",num) // show as an object 

または

NSLog(@"%d",[num intValue]) // show as an int. 

この行が間違っているかの操作を行います。すべての

NSNumber *rowsNumber = [NSNumber numberWithInt: [[self.fetchedResultsController sections] objectAtIndex:section] ]; 

まず、[[self.fetchedResultsController sections] objectAtIndex:section]が目的であるあなたをちょうど入りました

id <NSFetchedResultsSectionInfo> sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section]; 

numberWithInt:に渡すことはできません。 sectionInfo.numberOfObjectsを使用して行数を取得します。したがって、行は

NSNumber *rowsNumber = [NSNumber numberWithUnsignedInteger:sectionInfo.numberOfObjects]; 
+0

優秀!ありがとう – benhowdle89

関連する問題