(我是客观的新手,如果这似乎是一个简单的问题,请道歉)
我在这里研究了以下信息
格式不是字符串文字,也不是格式参数
并且大多数响应都涉及NSLog语句。但是,我的错误出现在这一行
NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:[NSString stringWithFormat:@"/%@", [managedObject Name]]];
我正在对一组代码进行故障排除,似乎并不理解为什么会出现错误。对此有任何帮助将不胜感激。
答案 0 :(得分:4)
下面应该解决它。
NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:[NSString stringWithFormat:@"/%@", [managedObject Name]], nil];
或者
NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:@"/%@", [managedObject Name]];
也应该这样做。
您正在调用两个期望格式参数的方法,您将一个传递给[NSString stringWithFormat]而不是stringByAppendingFormat方法。
答案 1 :(得分:3)
除了其他人所说的,你应该研究一下
- (NSString *)stringByAppendingPathComponent:(NSString *)aString
答案 2 :(得分:1)
您正在使用stringByAppendingFormat
,然后使用stringWithFormat
。选择一个或另一个。修正:
NSString *path = [[self applicationDocumentsDirectory] stringByAppendingFormat:@"/%@", [managedObject Name]];
答案 3 :(得分:0)
[NSString stringWithFormat:@"/%@", [managedObject Name]
将返回一个字符串,%@
已被[managedObject Name]
的值替换。因此,方法stringByAppendingFormat
没有获取格式化字符串和任何参数。
BTW,惯例是使用以小写字母开头的方法名称,与[managedObject Name]