如何解决格式String未使用的错误数据参数?

时间:2015-04-02 13:08:25

标签: ios ios8

如何解决这个问题(格式字符串不使用数据参数)?

这是我的代码:

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()上的错误节目。为什么会出错?

1 个答案:

答案 0 :(得分:1)

因为方法stringWithFormat:在格式说明符和传递给它的参数数量之间具有一对一的关系。
在您的代码中,您正在编写@"MyDayJournal.plist"作为格式字符串,然后将NSHomeDirectory()作为参数传递,但没有格式说明符来接收此输入。像@"%@/MyDayJournal.plist"这样的东西。您的代码应该像

NSString *path=[NSString stringWithFormat:@"%@/MyDayJournal.plist",NSHomeDirectory()];