遵循iOS Swift教程,但收到错误
我遵循一个视频教程,我完全遵循了代码,但是我收到了教程中的人没有收到的错误 非常感谢您的帮助遵循iOS Swift教程,但收到错误,ios,xcode,swift,xcode6,Ios,Xcode,Swift,Xcode6,我遵循一个视频教程,我完全遵循了代码,但是我收到了教程中的人没有收到的错误 非常感谢您的帮助 // // ViewController.swift // IMDb Search // // Created by James on 29/05/2015. // Copyright (c) 2015 James. All rights reserved. // import UIKit class ViewController: UIViewController { @IBOutlet
//
// ViewController.swift
// IMDb Search
//
// Created by James on 29/05/2015.
// Copyright (c) 2015 James. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet var titleLabel : UILabel
@IBOutlet var releasedLabel : UILabel
@IBOutlet var ratingLabel : UILabel
@IBOutlet var plotLabel : UILabel
@IBOutlet var posterImageView : UIImageView
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func buttonPressed(sender: UIButton)
{
self.searchIMDb("King of Kong")
}
func searchIMDb(forContent: String)
{
var spacelessString = forContent.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
var urlPath - NSURL(string: "http://www.omdbapi.com/?t=\(spacelessString)")
var session - NSURLSessio.sharedSession()
var task = session.dataTaskWithURL(urlPath) {
data, response, error -> Void in
if (error) {
println(error.localizedDescription)
}
var jsonError : NSError?
var jsonResult - NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &jsonError) as Dictionary<String, String>
if (jsonError?) {
println(jsonError!.localizedDescription)
}
self.titleLabel.text = jsonResult["Title"]
self.releasedLabel.text = jsonResult["Released"]
self.ratingLabel.text = jsonResult["Rated"]
self.plotLabel.text = jsonResult["Plot"]
}
task.resume()
}
}
//
//ViewController.swift
//IMDb搜索
//
//詹姆斯于2015年5月29日创作。
//版权所有(c)2015年詹姆斯。版权所有。
//
导入UIKit
类ViewController:UIViewController{
@IBVAR标题标签:UILabel
@IBOUTLE var releasedLabel:UILabel
@IBOUTLE var额定值标签:UILabel
@IBVAR打印标签:UILabel
@IBOUTLE var posterImageView:UIImageView
重写func viewDidLoad(){
super.viewDidLoad()
//加载视图后,通常从nib执行任何其他设置。
}
重写函数didReceiveMemoryWarning(){
超级。我收到了记忆警告()
//处置所有可以重新创建的资源。
}
@按下iAction func按钮(发件人:UIButton)
{
self.searchIMDb(“香港之王”)
}
func searchIMDb(forContent:String)
{
var spacelessString=forContent.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
变量urlPath-NSURL(字符串:”http://www.omdbapi.com/?t=\(无空格字符串)“)
var会话-NSURLSessio.sharedSession()
var task=session.dataTaskWithURL(urlPath){
数据、响应、错误->中的无效
如果(错误){
println(错误。本地化描述)
}
var jsonError:n错误?
var jsonResult-NSJSONSerialization.JSONObjectWithData(数据,选项:NSJSONReadingOptions.MutableContainers,错误:&jsonError)作为字典
如果(jsonError?){
println(jsonError!.localizedDescription)
}
self.titleLabel.text=jsonResult[“Title”]
self.releasedLabel.text=jsonResult[“Released”]
self.ratingLabel.text=jsonResult[“额定”]
self.plotLabel.text=jsonResult[“Plot”]
}
task.resume()
}
}
下面是我收到的错误
修改后显示的新错误
结尾处的新错误
新错误消息第一页
要在出错时消除错误,请执行以下操作:
if let error = error {
println(error.localizedDescription)
}
json错误尝试如下操作:
var jsonError : NSError?
if let jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &jsonError) as [String:String] {
self.titleLabel.text = jsonResult["Title"]
self.releasedLabel.text = jsonResult["Released"]
self.ratingLabel.text = jsonResult["Rated"]
self.plotLabel.text = jsonResult["Plot"]
} else if let jsonError = jsonError {
println(jsonError.localizedDescription)
}
对于IBOutlets,只需在末尾添加“!”,您应该使用“=”而不是像这样的“-”吗?“@IBOutlet!”或者像这样的“UILabel!”?UILabel!还有你的影像视图!太棒了,谢谢!我做了这些更改,但仍然收到一个错误。var task=session.dataTaskWithURL(urlPath){给我一个错误:可选类型“NSURL”的值未展开;您的意思是使用“!”还是“?”?哪些部分应该删除并替换为该代码?如果你不理解代码,你应该询问,否则下次你需要这样做时,你将在这里发布另一个问题,请某人再次为你修复代码。很好!我只是在底部发现一个错误,说“预期声明”?我想我理解了其中的大部分,只是为了应付斯威夫特和一点挣扎哈它发生在哪一行?我添加了一行var jsonError:NSError?