2015-11-13 2 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

Я уже googled вокруг, но никакая проблема, кажется, не такая же проблема. Я нашел это «NSData contentsOfURL constructor returns nil», но ни перезапуск Xcode, ни перезагрузка всего моего компьютера не устраняет проблему.

+1

не уверен в% 20, но это, вероятно, следует беглый пространство вместо кодированной: '"/Users/Francis/Документы/Xcode_projects/KM \ registratie/blogs.json "' – Wain

+0

вы избегаете только тех случаев, когда вы не вставляете круглые скобки вокруг пути вправо? В этом случае нет необходимости скрывать пространство. Но я попробовал его во всяком случае, он дает синтаксическую ошибку на обратной косой черте – Fr4nc3sc0NL

+3

Я думаю, игровая площадка находится в своей песочнице и не может получить доступ к файлам снаружи. – vadian

ответ

0

игровые площадки изолированы песочницей, и, похоже, нет простого способа выйти за пределы своей «коробки». XML parsing in swift название этого вопроса немного вводит в заблуждение, то ответ на него действительно ответить на этот вопрос

0

Он ответил здесь:

XML parsing in swift

Проблема заключается в том, что ваш URL не указывает, где вы думаете, это является. Вы пытаетесь открыть URL-адрес в подкаталоге в своей песочнице, и его не существует.

Вам необходимо открыть содержимое упаковки вашей игровой площадки (правой кнопкой мыши на детской площадке и выберите «Показать содержимое пакета», добавить папку под названием «Resources», и скопировать файл непосредственно там.

Тогда вы можете получить файл из основного пучка:

let url: NSURL! = NSBundle.mainBundle().URLForResource("blogs", withExtension: "json") 
Смежные вопросы