Я новичок в программировании и пытаюсь создать свое первое приложение.
Я пытаюсь создать UIManagedDocument, используя Swift Playgrounds, следуя шагам, описанным в прошлогоднем курсе CS193 Standford iOS, лекция 12. Они находятся в задаче C, и я пытаюсь преобразовать их в Swift. Я весь день бился головой о стену, пытаясь понять, что я делаю не так :/
import UIKit
import CoreData
let fileManager = NSFileManager.defaultManager()
let directoryArray = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
let directoryUrl = directoryArray[0] as NSURL
let documentName = "MyDocument"
let url:NSURL = directoryUrl.URLByAppendingPathComponent(documentName)
var document = UIManagedDocument(fileURL: url)
var path:NSString = url.path!
println(path)
let context:NSManagedObjectContext = document.managedObjectContext
//document.openWithCompletionHandler(nil)
var fileExists = fileManager.fileExistsAtPath(path)
document.fileURL
document.saveToURL(url, forSaveOperation: UIDocumentSaveOperation.ForCreating, completionHandler: nil)
Я получаю сообщение об ошибке «Выполнение было прервано, причина: сигнал SIGABRT». Вывод консоли, похоже, указывает на проблему с созданным мной URL-адресом или на то, что он нулевой, но я не уверен, почему это так.
/var/folders/tc/9f9rjh1d0pn2r1qbg4qhqbqw0000gn/T/com.apple.dt.Xcode.pg/containers/com.apple.dt.playground.stub.iOS_Simulator.MyPlayground-CB14C6DC-51ED-4C53-987E-4616DD3A09FA/Documents/MyDocument
2014-09-30 20:50:18.648 MyPlayground[11196:3191065] failed to get type for URL (file:///var/folders/tc/9f9rjh1d0pn2r1qbg4qhqbqw0000gn/T/com.apple.dt.Xcode.pg/containers/com.apple.dt.playground.stub.iOS_Simulator.MyPlayground-CB14C6DC-51ED-4C53-987E-4616DD3A09FA/Documents/MyDocument) error: The operation couldn’t be completed. (Cocoa error 260.)
2014-09-30 20:50:18.648 MyPlayground[11196:3191065] failed to get type for URL (file:///var/folders/tc/9f9rjh1d0pn2r1qbg4qhqbqw0000gn/T/com.apple.dt.Xcode.pg/containers/com.apple.dt.playground.stub.iOS_Simulator.MyPlayground-CB14C6DC-51ED-4C53-987E-4616DD3A09FA/Documents/MyDocument) error: The operation couldn’t be completed. (Cocoa error 260.)
2014-09-30 20:50:18.649 MyPlayground[11196:3191065] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL URLByAppendingPathExtension:]: component, components, or pathExtension cannot be nil.'
*** First throw call stack:
(
0 CoreFoundation 0x00000001016bf3f5 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x00000001031cabb7 objc_exception_throw + 45
2 CoreFoundation 0x00000001016bf32d +[NSException raise:format:] + 205
3 Foundation 0x00000001010ef39f -[NSURL(NSURLPathUtilities) URLByAppendingPathExtension:] + 78
4 UIKit 0x000000010201240d -[UIDocument saveToURL:forSaveOperation:completionHandler:] + 151
5 ??? 0x000000010cf2904c 0x0 + 4512190540
)
libc++abi.dylib: terminating with uncaught exception of type NSException
на игровой площадке мне кажется, что URL-адрес, который я создал, не равен нулю, поэтому я действительно потерян.
Буду ОЧЕНЬ признателен за любую помощь или совет :) Большое спасибо!