我的IOS应用程序需要在字符串后面添加一个数字。 该数字由正在推送的单元格的索引接收。 但是如果我运行应用程序并推送一个单元格。 我的屏幕转到xCode,显示有一个名为tempstring的变量。然而,模拟器不再响应.. 我怎样才能解决这个问题? 这是我使用的代码:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *tempstring = [NSString stringWithFormat: @"http://www.app-creater.com/service.php?k=%i",indexPath.row];
NSLog(tempstring);
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// Retrieve cell
NSString *cellIdentifier = @"BasicCell";
UITableViewCell *myCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
// Get the location to be shown
Location *item = _feedItems[indexPath.row];
// Get references to labels of cell
myCell.textLabel.text = item.Name;
return myCell;
}
我在NSlog(tempstring)得到一个线程1:断点1.1 说不完整的格式说明符。
我该如何解决这个问题?
- 编辑 -
我想要实现的是获取字符串: “www.app-create.com/service.php?k=1”(或任何数字) 使用该字符串我想下载一个部分JSON片段,所以在示例中密码片段,对应于字符串号码。 所以例如该链接用于电子邮件地址:tet@icloud.com,我得到密码1234,链接www.app-create.com/service.php?k=0,我得到密码4321
答案 0 :(得分:1)
如果没有格式说明符,您就无法使用NSLog
。
更改:
NSLog(tempstring);
到
NSLog(@"%@",tempstring);
根据this Apple文档,由于signal 10 (SIGBUS)
答案 1 :(得分:1)
NSLog的定义是研究员:
FOUNDATION_EXPORT void NSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);
所以你不能写出如下声明:
NSLog(tempstring);
您总是需要使用格式字符串并传入您想要的参数 - 成为NSString的一部分,如下所示:
NSLog(@"The value of tempstring is: %@", tempstring);
答案 2 :(得分:-1)
不确定'%i'是有效的格式说明符。您可能必须使用'%d'或此处指定的其中一个