如何解决这个问题(格式字符串不使用数据参数)?
这是我的代码:
FOUNDATION_EXPORT NSString *NSHomeDirectory(void);
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
{
NSString *path=[NSString stringWithFormat:@"MyDayJournal.plist",NSHomeDirectory()];
NSFileManager *man=[NSFileManager defaultManager];
if([man fileExistsAtPath:path])
{
[dataArray exchangeObjectAtIndex:fromIndexPath.row withObjectAtIndex:toIndexPath.row];
}
[dataArray writeToFile:path atomically:YES];
[tableView1 reloadData];
}
NSHomeDirectory()
上的错误节目。为什么会出错?
答案 0 :(得分:1)
因为方法stringWithFormat:
在格式说明符和传递给它的参数数量之间具有一对一的关系。
在您的代码中,您正在编写@"MyDayJournal.plist"
作为格式字符串,然后将NSHomeDirectory()
作为参数传递,但没有格式说明符来接收此输入。像@"%@/MyDayJournal.plist"
这样的东西。您的代码应该像
NSString *path=[NSString stringWithFormat:@"%@/MyDayJournal.plist",NSHomeDirectory()];