2009-08-08 10 views
5

몇 가지 요소가 포함 된 NSArrayController가 있습니다. 이 요소들은 'name', 'interformation'과 같은 몇 가지 속성을 가지고 있습니다.NSArrayController에서 특정 요소 찾기

원하는 것은 NSArrayController에서 이름 속성이 'Mads'로 설정된 요소를 찾는 것입니다.

효율이 큰 문제가 아니기 때문에 NSArrayController의 모든 요소를 ​​반복하여 'name'속성이 'Mads'인지 확인하면서 선형 검색을 수행합니다.

하지만 NSArrayController에서 NSIterator를 얻을 수없는 것 같습니다. 이렇게하려면 다른 방법이 있는지 궁금합니다.

어떤 도움을 주시면 감사하겠습니다.

답변

5

콘텐츠 사용 방법은 무엇입니까?

// ac is an NSArrayController* 
for (MyObject *mob in ac.content) { 
    if ([mob.name isEqualToString:@"something"]) { 
     // found 
     break; 
    } 
} 
8

즉 배열입니다 arrangedObjects, 가져 오기, 그리고 그 중 하나에 반복 또는 filteredArrayUsingPredicate:를 사용합니다.

어레이 컨트롤러의 filterPredicate을 설정하는 것이 더 적절하지 않다고 가정합니다. 그렇게하면 arrangedObjects에 일치하는 개체 만 포함됩니다.

+1

하나의 질문에 대해 두 가지 대답을 분명히 받아 들일 수는 없습니다./그러나이 답변은 동일합니다. –