1

SwiftyJSON を使用して単純な JSON にアクセスしようとしています。シングル ビュー iOS アプリケーションとして、以下が機能します。

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    let test = [ "turn" : "5", "row" : "1", "column" : "2" ]
    let json = JSON(test)
    println(json)

    var turn: String = ""
    turn = json["turn"].stringValue
    println("swifty json .stringValue turn = \(turn)") // correctly prints "swifty json .stringValue turn = 5"

    if let turn = json["turn"].string {
        println("swifty json .string turn = \(turn)") // correctly prints "swifty json .string turn = 5"
    }

}

端末出力は次のとおりです。

{ "列" : "2", "ターン" : "5", "行" : "1" }

swifty json .stringValue ターン = 5

swifty json .string ターン = 5

しかし、iOS ゲームとして開始する新しいプロジェクトを作成すると、機能しなくなります。

class GameViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    let test = [ "turn" : "5", "row" : "1", "column" : "2" ]
    let json = JSON(test)
    println(json)

    var turn: String = ""
    turn = json["turn"].stringValue
    println("swifty json .stringValue turn = \(turn)") // prints "swifty json .stringValue turn = "

    if let turn = json["turn"].string {
        println("swifty json .string turn = \(turn)") // never gets here because turn is nil or null
    }

端末出力は次のとおりです。

{ "列" : "2", "ターン" : "5", "行" : "1" }

swifty json .stringValue ターン =

iOS ゲームで SwiftyJSON を使用する場合、JSON にどのようにアクセスしますか? Swift 1.2 と Xcode 6.3 を使用しています。

4

0 に答える 0