2015-11-13 60 views
2

我有這樣的代碼在一個新的平臺的NSData(contentsOfURL:URL)總是返回零

import Foundation 

let blogsURL: NSURL = NSURL(fileURLWithPath: "/Users/Francis/Documents/Xcode_projects/KM registratie/blogs.json") 
let data = NSData(contentsOfURL: blogsURL) 

在第二行中的操場上告訴我,它(正確地)初始化的URL指file:///Users/Francis/Documents/Xcode_projects/KM%20registratie/blogs.json 並在遊樂場的第三行告訴我,數據是nil

我已經google了一下,但沒有問題似乎是完全相同的問題。我發現這個「NSData contentsOfURL constructor returns nil」,但既不重新啓動Xcode也不重新啓動我的整個計算機解決了這個問題。

+1

不知道的%20,但它可能應該是一個逃脫的空間,而不是編碼:'「/用戶/弗朗西斯/文件/ Xcode_projects/KM \ registratie/blogs.json「' – Wain

+0

只有當你不把括號放在一個路徑右邊時,你才能逃脫?在這種情況下,沒有必要逃離這個空間。無論如何,它給出了反斜槓語法錯誤 – Fr4nc3sc0NL

+3

我想,操場是在自己的沙箱中,無法訪問外面的文件。 – vadian

回答

0

遊樂場是沙盒,似乎沒有一個簡單的方法來到他們的「盒子」外面。 XML parsing in swift這個問題的標題有點誤導,它的答案確實回答這個問題

0

它在這裏回答:

XML parsing in swift

的問題是,您的網址沒有指向您認爲它是。您正試圖在沙盒中的子目錄中打開一個URL,但該URL不存在。

你需要打開你的遊樂場包裝內容物(右鍵單擊在操場上,選擇「顯示包內容」,添加一個名爲「資源」文件夾,複製文件,直接出現。

然後你可以從主束文件:

let url: NSURL! = NSBundle.mainBundle().URLForResource("blogs", withExtension: "json")