0

我有一个简单的 Web 服务,可以将一些数据传递到表格视图中,并且工作正常。

这是我目前拥有的代码:

[[cell detailTextLabel] setText:[item objectForKey:@"Ball 1"]];

正如我所说,这完美地工作并显示一个球号,例如“1”,取自网络服务。

我想做的是让它显示,例如“1 & 3”。

查看其他一些代码,我认为它可能是:

[[cell detailTextLabel] setText:[item objectForKey:@"Ball 1"]item objectForKey:@"Ball 2"]];

我对 Objective-C 完全陌生,我正在做一些教程,我正在尝试对它们进行一些扩展。由于我不确定术语,因此搜索某些内容的答案有点困难。

4

3 回答 3

2

使用字符串连接,例如stringWithFormat

NSString *concated = [NSString stringWithFormat:@"%@ & %@", [item objectForKey:@"Ball 1"], [item objectForKey:@"Ball 3"]];

现在将此字符串设置为标签:

[[cell detailTextLabel] setText:concated];
于 2013-04-25T18:59:13.000 回答
1

I'm not sure if you want to set the text from the strings in item or if you simply want to print "1 & 3"

Let's pretend it's the first. You can set the text by

cell.detailTextLabel.text = [[NSString stringWithFormat:@"%@ %@",  [item objectForKey:@"Ball 1"], [item objectForKey:@"Ball 3"]];

NSString stringWithFormat: will construct a string and replace %@ with the NSObject you provide, becareful because if you put an int or a float it will crash. You need to use the proper identifiers to write properly, %d for int and %f for float for example.

If you simply want to write "1 & 3" into text it's this.

cell.detailTextLabel.text = @"1 & 3";
于 2013-04-25T19:00:28.893 回答
1

您的单元格的text属性需要用一个字符串设置,但您有两个要使用的字符串。您需要组合这些字符串。

Cocoa Touch 中的字符串对象是NSString,它有一些方法可以为你工作。在这种情况下,最好的是stringWithFormat:. 这需要一个“格式字符串”,它描述了您想要的输出,以及插入到结果中的其他参数。

在这种情况下,您的格式字符串将是:@"%@ & %@". 那是一个带有两个格式说明符的字符串文字——两个%@s。每个说明符指示应插入到字符串中的以下参数的类型——在这种情况下,任何类型的对象(与intor相对float)。字符串中的&没有特殊含义——它将按原样出现在结果中。

要获得您调用的结果,请stringWithFormat:传递您的格式字符串和要插入的两个对象:

NSString * result = [NSString stringWithFormat:@"%@ & %@", [item objectForKey:@"Ball 1"], [item objectForKey:@"Ball 2"]]; 

现在您有一个字符串,并且可以将其分配给您的单元格text

[[cell detailTextLabel] setText:result];
于 2013-04-25T19:07:20.007 回答