遵循 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

IOS Firebase 后台获取

遵循 Shopify 的 React 和 Node 教程时出现未处理的运行时错误

iOS 构建匹配配置文件错误 - phonegap

无法使用 Facebook SDK IOS Swift 登录 [重复]

iOS RestKit 自定义错误处理