0
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *simpleTableIdentifier = @"MyCell2";
    int size = [wordListV2 count];
    NSLog(@"there are %d objects in the array", size);
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];



    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }
    // NSString *str =@"%d", [wordListV2[i] ];
    // cell.textLabel.text = str;

    cell.textLabel.text = @"%d", [wordListV2 count];//[[wordListV2 objectAtIndex:indexPath.row] word];
    NSLog(@"Helloo NS LOOOGG %d", [wordListV2 count]);
    return cell;
}

問題は、「Hello NS LOOOGG 673」の「NSLog 部分」を 673 回書き込みますが、セルには 673 ではなく %d しか表示されないことです。この問題を解決できる場合は、「[[wordListV2 objectAtIndex:indexPath.row] word]; 数字の代わりに、セル内に入れようとすると機能しません。」さらに、最初に文字列の中に入れようとしましたが、それでも機能しませんでした:(

Ok Guys が動作するようになりました。別の問題があります

オーケー今はうまくいきますが、それでも私が本当にやりたいことではありません. 考えられる問題 例外が発生し、ブレークポイントが 0x10e909b で停止します: movl 8(%edx), %edi 配列のカウントを受け取ることはできますが、その中のオブジェクトに到達できません コードは次のとおりです。

 Words * word = [wordListV2 objectAtIndex:0];
 NSLog(@"Helloo NS LOOOGG %@",word.word);
 cell.textLabel.text = word.word;

NSMutable 配列にアクセスしようとすると例外が発生します。さらに、otとの関係があるかどうかはわかりませんが、これも得られます

"; }; レイヤー = >", "; }; レイヤー = >" ) 2013-08-04 18:23:54.720

ところで、Words は私のクラスで、word は NSSTring * タイプです。そして最後に

4

1 に答える 1

2

これは%d、テキスト ラベルに割り当てている文字列であるため、文字列リテラルの後のすべてが無視されます (コンパイルされることにも驚いています)。

cell.textLabel.text = @"%d", [wordListV2 count];

やりたいことは、フォーマット文字列を理解して処理するメソッドを使用して、新しい NSString を作成することです。

cell.textLabel.text = [NSString stringWithFormat:@"%d", [wordListV2 count]];

機能する理由は、NSLog()フォーマット文字列を処理できるためです。ただし、ObjC プロパティは書式文字列を処理しません。

于 2013-08-02T23:26:19.530 に答える