分配标签文本仅显示格式字符串

时间:2013-08-02 22:47:17

标签: objective-c uitableview nsmutablearray string-formatting

- (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;
}

问题是它为“Helloo NS LOOOGG 673”编写“NSLog部分”673次,但在单元格中我只能看到%d而不是673.如果我能解决这个问题,我会尝试“[[wordListV2 objectAtIndex:indexPath .row] word];而不是数字但是当我试图将它放入细胞时它不起作用。“此外,我试图把它放在一个字符串中然后尝试但仍然无法工作:(

好的家伙现在正在工作我还有另外一个问题

好吧,现在它有效,但它仍然不是我真正想做的事情。我得到异常的问题和断点在0x10e909b中停止:movl 8(%edx),%edi 我可以收到我的数组的计数,但我无法到达其中的对象。这是代码:

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

当我试图访问NSMutable数组时发生异常。此外,我不知道与ot有任何关系,但它也给了这个

“;}; layer =>”,     “;}; layer =>” ) 2013-08-04 18:23:54.720

Btw Words是我的班级,单词是NSSTring *类型。最后

1 个答案:

答案 0 :(得分:2)

您看到%d,因为这是您分配给文本标签的字符串,字符串文字后面的所有内容都被忽略(我很惊讶它甚至编译):

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

您要做的是使用理解和处理格式字符串的方法创建新的NSString:

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

NSLog()的工作原因是因为它可以处理格式字符串。但是,ObjC属性处理格式字符串。