2010-08-24 11 views
0

다음 코드는 끌어서 놓기를 시도하는 NSTableViewDataSource의 코드입니다.NSPasteboard setString : forType : Snow Leopard의 Leopard에서 NO를 반환합니다.

누군가 다음 코드의 setString:forTypes: 메서드가 Leopard에서 NO을 반환하는 이유를 말해 줄 수 있습니까? Snow Leopard에서는 잘 작동합니다. 나는 "코코아 페이퍼 토픽 프로그래밍 토픽"레거시 문서를 체크했는데 내가 잘못하고있는 것이 무엇인지 알 수 없다.

- (BOOL)tableView:(NSTableView *)tableView writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard *)pboard 
{ 
    NSString *str; 
    if ([tableView isEqualTo:databaseView]) { 
     str = [[commander databases] objectAtIndex:[rowIndexes firstIndex]]; 
    } else if ([tableView isEqualTo:favouritesView]) { 
     str = [[commander favourites] objectAtIndex:[rowIndexes firstIndex]]; 
    } 

    if (str != nil) { 
     NSArray *types = [NSArray arrayWithObject:NSStringPboardType]; 
     [pboard declareTypes:types owner:nil]; 
     if ([pboard setString:str forType:NSStringPboardType]) { 
      return YES; 
     } else { 
      [self handleErrorString:[NSString stringWithFormat:@"Error: Couldn't copy '%@' to pasteboard!", str]]; 
     } 
    } 
    return NO; 
} 

답변

1

이것은 추측이지만, 데이터를 확인 : pboardstr 정말 문자열입니다 전무하지 않고,있다.

+0

와우, 판자 *는 아니 었습니다. 하지만 보드 보드가 무효화되는 원인은 무엇입니까? – Tim

+0

좋은 질문 ... 아마도 마분지가 마분지를 사용하는 앱의 다른 곳에서 엉망이 됐을 수 있습니까? 나는 모른다. 어쩌면 당신은 내 대답을지지하지만 받아 들여서는 안됩니다. – JWWalker

+1

비교적 빈 프로젝트로 몇 가지 테스트를 실행했으며 원격 디버깅을 사용할 때만 테스트가 끝난 것처럼 보입니다. 어쩌면 나는이 새로운 문제의 실제 원인에 대한 새로운 질문을 시작해야 할 것이다. – Tim