gelen sürükle ve bırak. Kur, bir Çekirdek Veri deposuna Kakao bağlamaları kullanarak veri kaynağı olarak işlev gören bir dizi denetleyicisi olan bir NSTableView
kullanır.NSTableView ve ben sürükle uygulamak ve benim app bir NSTableView içine Finder düşecek çalışıyorum Finder
Ben temelde ben SO ve diğer siteler üzerinde bulunan çeşitli blog yayınlarında aşağıdaki aşağıdaki yaptı: benim görünümü denetleyicisi awakeFromNib
yılında
ararım:
[[self sourcesTableView] registerForDraggedTypes:[NSArray arrayWithObjects: NSPasteboardTypePNG, nil]];
Ben NSArrayController sınıflandırma ve aşağıdaki ilave alt sınıfıma yönelik yöntemler (alt sınıflandırma için mantık, tablo denetleyicisinin veri kaynağı gibi davranması nedeniyle dizi denetleyicisinin damladan haberdar olması gerektiğidir):
- (BOOL) tableView: (NSTableView *) aTableView acceptDrop: (id <NSDraggingInfo>) info row: (NSInteger) row dropOperation: (NSTableViewDropOperation)operation
Yukarıdakiler için uygulamam şu anda yalnızca günlüğe yazar ve sonra bir boolean YES döndürür.
- (NSDragOperation) tableView: (NSTableView *) aTableView validateDrop: (id <NSDraggingInfo>) info proposedRow: (NSInteger) row proposedDropOperation: (NSTableViewDropOperation) operation
IB ben benim özel NSArrayController alt sınıfa işaret dizi denetleyicisi var.
Sonuç: hiçbir şey. Masaüstümden bir PNG'yi masaüstüme sürüklediğimde hiçbir şey olmuyor ve dosya mutlu bir şekilde kaynağına geri dönüyor. Yanlış bir şey yapmalıyım ama ne olduğunu anlamıyorum. Nerede yanlış gidiyorum?
teşekkürler ama tablo görünümü hala herhangi sürükle kabul etmez/düşer. Finder'dan sürüklediğim herhangi bir dosya geri döner. Tabloyu veri kaynağına eklemek için Cocoa bağlamaları kullanıyorum. – Roger
Cevabımı güncelledim. Bir veri kaynağı nesnesini hala uygulamanız gerekiyor. –