首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取错误"Format not a string literal and no format arguments“

获取错误"Format not a string literal and no format arguments“
EN

Stack Overflow用户
提问于 2011-08-20 04:58:36
回答 2查看 277关注 0票数 1

我看了看这里,并没有看到我同样的情况。任何愿意帮忙的人,谢谢。

我有一个分组表,显示我的足球队在即将到来的赛季的比赛。主场和客场比赛。

代码语言:javascript
复制
     NSString *message = [[NSString alloc] initWithFormat:rowValue];
Error Message: Format not a string literal and no format arguments

甚至不确定这是从哪里来的?

我使用了我在网上找到的教程。复制并粘贴了整个过程。我只更改了我的个人表所需的值。这是我得到的唯一错误吗?有什么帮助吗??

编辑:如果我需要提供更多的代码或任何东西,请让我知道!

谢谢你!!

--安东尼·隆巴迪

EN

回答 2

Stack Overflow用户

发布于 2011-08-20 06:16:07

不太明白你的意思。我将输入更大的代码块,这可能会有所帮助。

代码语言:javascript
复制
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSArray *listData =[self.tableContents objectForKey:
                    [self.sortedKeys objectAtIndex:[indexPath section]]];
NSUInteger row = [indexPath row];
NSString *rowValue = [listData objectAtIndex:row];

NSString *message = [[NSString alloc] initWithFormat:rowValue];

UIAlertView *alert = [[UIAlertView alloc]
                      initWithTitle:@"You Better Be There Or Be Watching It!"
                      message:message delegate:nil
                      cancelButtonTitle:@"Go Knights!"
                      otherButtonTitles:nil];
[alert show];
[alert release];
[message release];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
票数 0
EN

Stack Overflow用户

发布于 2013-08-20 09:52:47

有点老生常谈的问题,而最初的提问者很可能早就走了.但对于历史和未来的读者来说,这是正在发生的事情。

问题是因为您正在创建具有printf样式格式字符串的message - initWithFormat需要一个包含%个字符的格式字符串来表示替换-例如,%f表示浮点数,%d表示整数,等等。

您传入的不是静态格式字符串(字符串文字,直接在代码中定义),而是动态字符串。编译器被搞糊涂了,因为您没有传递任何参数。如果你的动态字符串包含%个替换,地狱之门就会松开,或者最好的情况下你的应用程序会崩溃。

由于没有参数的格式化字符串没有任何意义,因此会引发错误。

要解决此问题,可以将rowValuemessage行替换为:

代码语言:javascript
复制
NSString *rowValue = [listData objectAtIndex:row];
NSString *message = rowValue;

或者更简洁地说:

代码语言:javascript
复制
NSString *message = [listData objectAtIndex:row];

或者使用新的objective-c文字语法和下标:

代码语言:javascript
复制
NSString *message = listData[row];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7127349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档