关注微信公众号 太平洋学习网 扫描二维码
最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

解决too many arguments to function call,expected 0, have2

扩展 太平洋学习网 浏览 评论

“too many arguments to function call,expected 0, have2”意思是参数过多了,如何解决这个问题呢?很简单,比如下面这个案例,获取UIImage对象的方法。

UIImage *image = [UIImage imageNamed:@"bg%d",_backIndex];

_backIndex为NSInteger类型,如果这样使用的话,就会出现上面的“ too many arguments to function call,expected 0, have2 ”问题了,因为imageNamed方法是只能接收一个参数的,而我们给了它相当于两个参数“ @"bg%d",_backIndex ”,那么我们如何更改呢?如下。

UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"bg%zd",_backIndex]];

我们可以用NSString中的stringWithFormat方法来封装一下这两个参数,返回的结果就是一个参数的string类型,这个时候UIImage的imageNamed方法就可以接收了。


来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/kuozhan/2017/0410/ios-err.html