遵循 iOS Swift 教程但收到错误
Posted
技术标签:
【中文标题】遵循 iOS Swift 教程但收到错误【英文标题】:Following iOS Swift tutorial but receiving errors 【发布时间】:2015-05-29 23:29:56 【问题描述】:我正在关注视频教程,并且完全按照代码进行操作,但是我收到了教程中的人没有收到的错误。
非常感谢任何帮助。
//
// 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()
这是我收到的错误。
修改后出现的新错误
结尾处出现新错误
新的错误信息第一页
【问题讨论】:
对于 IBOutlets 只需添加“!”最后 你应该使用“=”而不是“-” 喜欢这个? “@IBOutlet!”还是喜欢这个“UILabel!”? UILabel!和 UIImageView! 太棒了,谢谢!我进行了这些更改,但我仍然收到另一个错误。 var task = session.dataTaskWithURL(urlPath) 给我一个错误说:可选类型'NSURL的值?未拆封;你的意思是用“!”还是“?”? 【参考方案1】:在错误处摆脱错误:
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)
【讨论】:
应该删除哪些部分并用该代码替换? 如果你不理解代码,你应该问,否则下次你需要这样做时,你会在这里发布另一个问题,要求有人再次为你修复代码 看起来不错!我现在只在底部收到一个错误,说“预期声明”? 而且我想我理解其中的大部分内容只是掌握了 Swift 并有点挣扎哈哈 出现在哪一行?我添加了一行 var jsonError : NSError?以上是关于遵循 iOS Swift 教程但收到错误的主要内容,如果未能解决你的问题,请参考以下文章
SwiftyDropBox OSStatus 错误 10814 Swift 3
遵循 Shopify 的 React 和 Node 教程时出现未处理的运行时错误