我想使用带有nsmanagedobject的粘贴板。 这是我的班级:
import Foundation
import CoreData
@objc(Persons)
public class Persons: NSManagedObject {
@NSManaged public var firstName: String?
@NSManaged public var secondName: String?
}
我的ViewController:
var persons = [Persons]() // filled in another code part
override func viewDidLoad() {
pboard.declareTypes(["MyType"],owner: nil)
pboard.setData(NSKeyedArchiver.archivedData(withRootObject: persons), forType: "MyType")
}
应用程序崩溃了这个日志:
2017-06-23 08:16:18.605141+0200 TableView-DragDrop[29133:3726505]
-[Persons encodeWithCoder:]: unrecognized selector sent to instance 0x600000088f20 2017-06-23 08:16:18.606057+0200 TableView-DragDrop[29133:3726505] [General] -[Persons encodeWithCoder:]: unrecognized selector sent to instance 0x600000088f20 2017-06-23 08:16:18.609989+0200 TableView-DragDrop[29133:3726505] [General] ( 0 CoreFoundation 0x00007fffb9eae57b __exceptionPreprocess + 171 1 libobjc.A.dylib 0x00007fffcf0f21da objc_exception_throw + 48 2 CoreFoundation 0x00007fffb9f2ef14 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132 3 CoreFoundation 0x00007fffb9e21c93
___forwarding___ + 1059 4 CoreFoundation 0x00007fffb9e217e8 _CF_forwarding_prep_0 + 120 5 Foundation 0x00007fffbb8ae95a _encodeObject + 1241 6 Foundation 0x00007fffbb8aff0c -[NSKeyedArchiver _encodeArrayOfObjects:forKey:] + 460 7 Foundation 0x00007fffbb8ae95a
_encodeObject + 1241 8 Foundation 0x00007fffbb8ea492 +[NSKeyedArchiver archivedDataWithRootObject:] + 156 9 TableView-DragDrop 0x0000000100003147
_TFC18TableView_DragDrop8SourceVC9tableViewfTCSo11NSTableView13writeRowsWithV10Foundation8IndexSet2toCSo12NSPasteboard_Sb
+ 583 10 TableView-DragDrop 0x00000001000033bc _TToFC18TableView_DragDrop8SourceVC9tableViewfTCSo11NSTableView13writeRowsWithV10Foundation8IndexSet2toCSo12NSPasteboard_Sb
+ 108 11 AppKit 0x00007fffb80d4109 -[NSTableView _sendDataSourceWriteDragDataWithIndexes:toPasteboard:] + 102 12 AppKit 0x00007fffb80d4d06
-[NSTableView _performClassicDragOfIndexes:hitRow:event:] + 180 13 AppKit 0x00007fffb7bf67b5 -[NSTableView
_performDragFromMouseDown:] + 468 14 AppKit 0x00007fffb7bf4adf -[NSTableView mouseDown:] + 735 15 AppKit 0x00007fffb821824f -[NSWindow(NSEventRouting)
_handleMouseDownEvent:isDelayedEvent:] + 6341 16 AppKit 0x00007fffb8214a6c -[NSWindow(NSEventRouting)
_reallySendEvent:isDelayedEvent:] + 1942 17 AppKit 0x00007fffb8213f0a -[NSWindow(NSEventRouting) sendEvent:] + 541 18 AppKit 0x00007fffb8098681
-[NSApplication(NSEvent) sendEvent:] + 1145 19 AppKit 0x00007fffb7913427 -[NSApplication run] + 1002 20 AppKit 0x00007fffb78dde0e NSApplicationMain + 1237 21 TableView-DragDrop 0x00000001000058ad main + 13 22 libdyld.dylib 0x00007fffcf9d3235 start + 1 23 ??? 0x0000000000000003 0x0 + 3 ) 2017-06-23 08:16:18.611031+0200 TableView-DragDrop[29133:3726505] *** -[NSKeyedArchiver dealloc]: warning: NSKeyedArchiver deallocated without having had
-finishEncoding called on it.
任何人都可以帮助我吗?