2012-03-25 6 views
0

nilを私はカスタムのUITableViewCellとのUITableViewを作成し、これは私がcellForRowAtIndexPathでセルを作成する方法で取得します。のUITableViewCellは

static NSString *CellIdentifier = @"SongsCell"; 
    SongsCell *cell = (SongsCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (cell == nil){ 
     UIViewController *vc = [[[UIViewController alloc] initWithNibName:@"SongsCell" bundle:nil] autorelease]; 
     cell = (SongsCell *) vc.view; 
    } 

は、今私は(セルのパラメータ)、テーブル情報のすべてのセルを取得したいボタン押す:

for (int i = 0; i < [songTable numberOfRowsInSection:0]; i++) 
{ 

    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0]; 
    UITableViewCell *cell = [songTable cellForRowAtIndexPath:indexPath]; 
} 

は今、私はこのループはcellのために、現在のテーブルで見られていないすべてのセルのnilを私を与えるという問題があります。

+0

テーブルのすべてのセルをループしたいと思います。 – MTA

+0

なぜセルをループしたいのですか?私はこれがあなたの期待する結果を与えることはないと思う。 – sch

+0

Thxの助けを借りて、私は何をしたいのか他のものをやりました。 – MTA

答えて

0

ループでは、UITableViewというメソッドcellForRowAtIndexPath:を使用しています。細胞がドキュメントとして表示されていない場合は、このメソッドの戻りnilは言う:

戻り値
細胞を可視又はindexPathない場合、テーブルまたはゼロのセルを表すオブジェクトが範囲外です。

使用していると思われる方法は、UITableViewDataSourceのデリゲートメソッドtableView:cellForRowAtIndexPath:です。

+0

私はこれに代理メソッドを使用できますか? – MTA

+0

@MTA - あなたの質問に私のコメントを見てください。あなたの質問を更新して、なぜ細胞をループしたいのか説明してください。 – sch