我正在尝试将一个项目从一个 ReorderableListView 拖动到另一个 ReorderableListView 中。
看来只有使用带有 Dragable 和 DragTarget 小部件的常规 ListView 才能实现,并且没有 ReorderableListView 的外观和感觉。
我是对的还是有办法?
我正在尝试使用"自动保存扩展项目"功能.当我使用其子项扩展组并重新启动应用程序时,所有子项都会再次折叠,我不知道为什么它们不会保持扩展状态.我正在使用核心数据来存储我的源列表项.
这是我到目前为止所做的/设置:
这是我对outlineView的实现:persistentObjectForItem和outlineView:itemForPersistentObject.
- (id)outlineView:(NSOutlineView *)anOutlineView itemForPersistentObject:(id)object
{
NSURL *objectURI = [[NSURL alloc] initWithString:(NSString *)object];
NSManagedObjectID *mObjectID = [_persistentStoreCoordinator managedObjectIDForURIRepresentation:objectURI];
NSManagedObject *item = [_managedObjectContext existingObjectWithID:mObjectID error:nil];
return item;
}
- (id)outlineView:(NSOutlineView *)anOutlineView persistentObjectForItem:(id)item
{
NSManagedObject *object = [item representedObject];
NSManagedObjectID *objectID = [object objectID];
return [[objectID URIRepresentation] absoluteString];
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢.
编辑: 我有一个线索!问题可能是树控制器没有按时准备其内容.方法applicationDidFinishLaunching,outlineView:persistentObjectForItem等在数据加载之前执行,或者NSOutlineView尚未完成初始化.任何想法如何解决这个问题?
我对这个问题的答案中的一些术语感到有些困惑:JavaScript中的事件优先级是什么?
事件循环和任务队列之间有区别吗?这些队列有多大?
因为当我使用setInterval()设置Interval并使用alert()中断它时,会在警报显示的时间内删除间隔.
javascript event-loop javascript-events setinterval task-queue