预计方法调用的参数太多,有2个
这看起来很傻,但我不知道为什么有一个错误:
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://api.vk.com/method/newsfeed.get?access_token=%@", self.secret]];
和XCode警告我用“红色”错误 – 太多的方法调用期望1,有2的参数。但我没有第二个"%@"
符号,为什么会发生?
将这些陈述分解为中间体可以帮助查明错误,对于开发人员来说更容易理解。 不应该有性能损失,编译器会将这些语句合并在一起。
还使用提供错误反馈的API版本。
NSString *urlString = [NSString stringWithFormat:@"https://api.vk.com/method/newsfeed.get?access_token=%@", self.secret]; NSURL *url = [NSURL URLWithString: urlString]; NSError *error; NSData *data = [NSData dataWithContentsOfURL:url options:0 error:&error]; if (data) { // process data } else NSLog(@"data error: %@", error); // handle error }
是的,error handling是混乱的,一个PITA,但确实需要完成,这是软件开发的一部分。
注意:此Web访问将阻止应用程序,直到它完成,最好使用不阻止的asynchronous方法。
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.vk.com/method/newsfeed.get?access_token=%@", self.secret]]];
你应该用stringWithFormat:
创build格式化的stringstringWithFormat: