Swift 2中的“调用中的额外参数'错误'”错误[重复]
Posted
技术标签:
【中文标题】Swift 2中的“调用中的额外参数\'错误\'”错误[重复]【英文标题】:"Extra argument 'error' in call" error in Swift 2 [duplicate]Swift 2中的“调用中的额外参数'错误'”错误[重复] 【发布时间】:2015-12-28 23:53:51 【问题描述】:我是通过Beginning Xcode 书学习编程和学习的新手。它不在 Swift 2 上(但我现在正在学习它)。
在其中一个项目中,它正在教授如何创建一个 twitter 类型的应用程序。代码如下:
func retrieveTweets()
tweets?.removeAllObjects()
if let account = selectedAccount
let requestURL = NSURL(string: "https://api.twitter.com/1.1/statuses/home_timeline.json")
let request = SLRequest(forServiceType: SLServiceTypeTwitter,
requestMethod: SLRequestMethod.GET,
URL: requestURL,
parameters: nil)
request.account = account
request.performRequestWithHandler()
responseData, urlResponse, error in
if (urlResponse.statusCode == 200)
var jsonParseError : NSError?
**self.tweets = NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions.MutableContainers, error: &jsonParseError) as? NSMutableArray**
dispatch_async(dispatch_get_main_queue())
self.tableView.reloadData()
*我在带有 ** 的代码中收到“调用中的额外参数'错误'”错误(self.tweets ...)。我试过放“do”/“catch”块代码,但老实说没有放在哪里,或者知道我在用它做什么:)
有人可以帮我解决这个问题吗?需要知道要在粗体代码(或周围)中进行哪些更改才能使其正常工作。
谢谢!!
【问题讨论】:
删除错误参数,改为为该行添加尝试。do self.tweets = try NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions.MutableContainers) as? NSMutableArray catch _ //error
【参考方案1】:
您使用的是 Swift 2。JSONObjectWithData
现在是一个可抛出函数。您必须将其包装在 do try ... catch
块中:
if (urlResponse.statusCode == 200)
do
self.tweets = try NSJSONSerialization.JSONObjectWithData(responseData, options: [.MutableContainers]) as? NSMutableArray
catch let error as NSError
print(error.localizedDescritpion)
【讨论】:
效果很好!非常感谢!【参考方案2】:您使用 do/catch 块的直觉是正确的。因为JSONObjectWithData
会抛出错误,所以需要用try
调用它。在处理可能抛出的 Swift 函数时,error 参数是不必要的。试试这样的。
if (urlResponse.statusCode == 200)
do
self.tweets = try NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions.MutableContainers)
catch
print("\(error)")
【讨论】:
以上是关于Swift 2中的“调用中的额外参数'错误'”错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Swift - call / nil / call 中的额外参数“错误”可以抛出
我哪里出错了?前两行是错误所在.....调用中的额外参数“错误”
调用中的额外参数“错误” - 无法构建我的 Xcode 项目
当我在 Alamofire 中使用 UserDefaults.standard.object 时,它显示“调用中的额外参数”错误