0
각 요소에 체크 상자가있는 개요보기가 있습니다. 일부 비즈니스 로직에서 제공하는대로이 체크 박스의 초기 상태를 설정하려고합니다. 나는 NSOutlineViewDelegate의 적절한 (I 희망) 방식으로 그것을 할 노력하고 있어요 :NSOutlineView에서 확인란의 초기 상태를 설정할 수 없습니다.
- (NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item
{
NSButton *res = [outlineView makeViewWithIdentifier:@"checkbox" owner:self];
res.title = [item description];
if([item intValue] & 1)
res.state = NSOnState;
else
res.state = NSOffState;
return res;
}
모든 것이 거의 괜찮 버튼의 제목이 바로 변경됩니다. 그러나 상태 변화는 완전히 무시됩니다.
마지막으로 해결책을 찾았습니다. 나는 아직도 이런 일이 일어나는 이유를 모르지만,이 경우 체크 박스 제목 할당과 체크 박스 상태 할당 간에는 어떤 차이가있다. 그러나 누군가 내 메소드에서 할당 한 후 체크 박스의 상태를 설정하기 위해'item'의'integerValue' 메소드를 호출하는 것으로 보입니다. 그래서,이 문제를 해결하기 위해,'item'의'integerValue' 메쏘드가 적절한 값을 반환하도록해야합니다. – Hohol