Core Data, обходной путь «сортировка по временным свойствам»

Допустим, у меня есть объект Core Data под названием Event, который представляет повторяющиеся (ежегодные) события. Каждое событие имеет значок" Перетаскивание работает отлично ...

У меня есть подкласс NSView, который регистрирует файлы перетаскивания в методе инициализации следующим образом:

    [self registerForDraggedTypes:[NSArray arrayWithObject:NSFilenamesPboardType]];

Перетаскивание работает отлично, но если я добавлю в это представление подвид с тем же самым frame, он больше не работает. Я предполагаю, что подпредставление блокирует событие перетаскивания, чтобы перейти в супервизор. Могу ли я этого избежать? Спасибо

Кроме того, я знаю, что задаю два вопроса, но я не хочу создавать новую тему только для этого: когда я перетаскиваю, мой курсор не меняется на знак "+", как при других перетаскиваниях , Как мне это сделать? Я предполагаю, что подпредставление блокирует событие перетаскивания, чтобы перейти в супервизор. Могу ли я этого избежать? Спасибо

Кроме того, я знаю, что задаю два вопроса, но я не хочу создавать новую тему только для этого: когда я перетаскиваю, мой курсор не меняется на знак "+", как при других перетаскиваниях , Как мне это сделать? Я предполагаю, что подпредставление блокирует событие перетаскивания, чтобы перейти в супервизор. Могу ли я этого избежать? Спасибо

Кроме того, я знаю, что задаю два вопроса, но я не хочу создавать новую тему только для этого: когда я перетаскиваю, мой курсор не меняется на знак "+", как при других перетаскиваниях , Как мне это сделать? Thanks again.

UPDATE: Here's the how I have it set up in my IB: enter image description here

The DrawView is the custom class I was talking about that registered for draggedtypes. And the Image view simply is a subview, I dragged an image from the media section... Если это поможет, вот мой соответствующий код для DragView:

- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender {
    return NSDragOperationCopy;
}

- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender {
    NSPasteboard *pboard;
    pboard = [sender draggingPasteboard];
    NSArray *list = [pboard propertyListForType:NSFilenamesPboardType];
    if ([list count] == 1) {
        BOOL isDirectory = NO;
        NSString *fileName = [list objectAtIndex:0];
        [[NSFileManager defaultManager] fileExistsAtPath:fileName
                                             isDirectory: &isDirectory];
        if (isDirectory) {
            NSLog(@"AHH YEA");
        } else {
            NSLog(@"NOO");
        }
    }
    return YES;
}
10
задан user635064 5 May 2011 в 05:04
поделиться