从 Api Swift 获取数据 [重复]
Posted
技术标签:
【中文标题】从 Api Swift 获取数据 [重复]【英文标题】:Get Data from Api Swift [duplicate] 【发布时间】:2016-01-09 10:02:09 【问题描述】:我正在尝试从 http://food2fork.com/about/api
调用 Api,但是当我实现这些代码时,它会显示错误。我在这里做这个教程:https://www.topcoder.com/blog/calling-apis-parsing-json-with-swift/
这是我的代码:
import UIKit
import Alamofire
import SwiftyJSON
class ListDishsViewController: UIViewController, UITableViewDelegate, UITableViewDataSource
@IBOutlet var dishsTableView: UITableView!
override func viewDidLoad()
super.viewDidLoad()
print("hello")
let logo = UIImage(named: "bento")
let imageView = UIImageView(image:logo)
self.navigationItem.titleView = imageView
dishsTableView.dataSource = self
dishsTableView.delegate = self
override func didReceiveMemoryWarning()
super.didReceiveMemoryWarning()
func loadDishesData()
let urlPath = "http://food2fork.com/api/search?key=67fd12776ee242546ac92d3122dabbd9&q=shredded%20chicken"
let url: NSURL = NSURL(string: urlPath)!
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url, completionHandler: data, response, error -> Void in
if error != nil
print(error!.localizedDescription)
var error: NSError?
let jsonResult: AnyObject! = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers, error: &error) as? NSDictionary
if error != nil
// If there is an error parsing JSON, print it to the console
print("JSON Error \(error!.localizedDescription)")
)
task.resume()
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCellWithIdentifier("DishCell", forIndexPath: indexPath) as! ListDishsTableViewCell
return cell
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return 10
但它显示如下错误:
任何帮助将不胜感激。
【问题讨论】:
您在哪里声明了“错误”? - 我知道正确学习东西很痛苦,但你应该阅读 Swift 语言书。 虽然我声明了,还是报错 添加变量err的定义 见***.com/a/31264556/2227743 没问题,Khuong。 :) 很高兴能帮上忙。 【参考方案1】:更新
在 Swift 2 中,JSONObjectWithData
没有参数 error
。
来自documentation:
+ JSONObjectWithData:options:error:
Returns a Foundation object from given JSON data.
Declaration
SWIFT
class func JSONObjectWithData(_ data: NSData,
options opt: NSJSONReadingOptions) throws -> AnyObject
OBJECTIVE-C
+ (id)JSONObjectWithData:(NSData *)data
options:(NSJSONReadingOptions)opt
error:(NSError * _Nullable *)error
【讨论】:
Renzo 先生请再检查一遍,尽管我已经声明了。还是报错,请看我的更新问题。 @khuong291,你用的是哪个swift? 我使用的是 swift 2, xcode 7 那么,JSONObjectWithData
的参数 error 仅适用于 Objective-C,而不适用于 swift(它可以抛出异常)。以上是关于从 Api Swift 获取数据 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 HMAC SHA512 从 API 获取数据 - Swift
从 api 获取所有数据以及如何在 swift ios 中仅在单元格上附加标题