2016-04-25 9 views
0

上記のエラーが発生していますが、別の例で同じコードを実装した理由がわかりません。 "services"は私のNSMutableArrayで、 "service name"はTag 2のテーブルビューのラベルです。viewdidloadでは、サービス配列にオブジェクトを埋めます。NSCFConstantString objectAtIndexインスタンスに送信された認識できないセレクタ

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSString *cellIdentifier = @"servicesCell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
    UILabel *servicesName; 
    UILabel *nrofService; 
    if(tableView == self.servicetable) 
    { 
     servicesName = (UILabel*) [cell viewWithTag:2]; 
     servicesName.text = [[services objectAtIndex:0] objectAtIndex:indexPath.row];    
    } 
    return cell; 
} 
+0

NSCFConstantString objectAtIndex認識されていないセレクタが以下のようにだからあなたのUILabelのテキストを設定 インスタンスに

を送っ

サービスで。しかし、それは文字列を再調整しています。 [services objectAtIndex:0]は配列ではなく文字列を返します。 – pkc456

+0

はい、私はその文字列をラベルテキストに設定しています。どうすれば修正できますか? – WasimSafdar

+0

テキスト値を設定する前に文字列を返す配列は、クラスタイプをチェックすることができます**、if([[services objectAtIndex:0] isKindOfClass:[NSArray class]]){ servicesName.text = [[services objectAtIndex:0] objectAtIndex :indexPath.row]; } ** –

答えて

2

問題は、以下の行にある:

servicesName.text = [[services objectAtIndex:0] objectAtIndex:indexPath.row]; 

チェック[services objectAtIndex:0]NSStringの代わりに、NSArrayまたはNSMutableArrayを返しています。だから、例外が発生したNSStringobjectAtIndex:indexPath.rowを呼び出している:あなたは、配列を期待している

servicesName.text = [services objectAtIndex:indexPath.row]; 
+0

よろしくお願いします。 – WasimSafdar

関連する問題