2016-06-12 3 views
-1

私はalamofireのパラメータオブジェクトの作成に問題があります。 文字列キーの中には、文字列値の他に文字列値も含まれているものもあります。Swift - パラメータオブジェクトの作成

あなたは私が間違っていることを教えてもらえますか?

provider_user_id が

、デバイスに> 解像度 名 OSをprovider_uid

maker-> 名

なぜ誰かが私に説明することができます:

func callFineBackend(provider_uid:String!,provider_user_id:String!) -> String{ 
    print("get token and post") 

    let screen = UIScreen.mainScreen().bounds 
    let res_x = Int(screen.width) 
    let res_y = Int(screen.height) 
    let devicename = String(UIDevice.currentDevice().name) 
    let os = String(UIDevice.currentDevice().systemVersion) 
    let mem_mb = Double(NSProcessInfo.processInfo().physicalMemory) 
    let provider_name = "facebook" 
    let dpi = 126 


    let xlatGPS = 34.951231 
    let xlonGPS = 43.714323 
    let stringLat = String(xlatGPS) 
    let stringLon = String(xlonGPS) 

    let headers: [String: String] = [ 
     "Accept": "application/json", 
     "Content-Type":"application/json", 
     "X-Latitude": stringLat, 
     "X-Longitude": stringLon 
    ] 

    let parameters: [String: AnyObject] = [ 

     "maker": [ 
      "name": "Apple" 
     ], 
     "device": [ 
      "name": devicename, 
      "mem_mb": mem_mb, 
      "dpi": dpi, 
      "res_x": res_x, 
      "rex_y": res_y, 
      "os": os 
     ], 
     "provider_name": provider_name, 
     "provider_user_id": provider_user_id, 
     "provider_uid": provider_uid, 
    ] 

    print(parameters) 

が変身:

[ 
    "provider_user_id": 12315123512, "device": { 
    dpi = 126; 
    "mem_mb" = 4294967296; 
    name = "iPhone Simulator"; 
    os = "9.3"; 
    "res_x" = 320; 
    "rex_y" = 480; 
}, "provider_uid": EAAX, 
"maker": { 
    name = Apple; 
}, "provider_name": facebook 
] 
+0

プリントがこのように動作するため!サーバーにデータを送信すると、辞書が正しく到着したことがわかります。 – luk2302

答えて

0

何が印刷されていますか。

NSDictionaryを印刷すると、文字列に文字または数字以外の文字が含まれている場合にのみ、文字列が引用符で囲まれます。この場合

parametersDictionary、 しかしparameters["maker"]parameters["device"]、などであるタイプNSDictionaryです。

関連する問題