2009-08-08 32 views
5

Tôi có một NSArrayController chứa một vài phần tử. Các yếu tố này có một vài thuộc tính như 'tên', 'thông tin', v.v.Tìm một phần tử cụ thể trong NSArrayController

Điều tôi muốn đơn giản là tìm một phần tử trong NSArrayController có thuộc tính tên được đặt thành, cho phép nói là 'Mads'.

Vì hiệu quả không phải là một vấn đề lớn ở đây tôi chỉ thực hiện tìm kiếm tuyến tính bằng cách lặp qua tất cả các phần tử trong NSArrayController trong khi kiểm tra xem thuộc tính 'name' có phải là 'Mads' hay không.

Nhưng tôi dường như không thể có được một NSIterator từ NSArrayController, vì vậy tôi tự hỏi nếu có một cách khác để làm điều này?

Bất kỳ trợ giúp nào được đánh giá cao

Trả lời

5

Cách sử dụng nội dung?

tức

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

Lấy arrangedObjects, đó là một mảng, và một trong hai lặp trên đó hoặc sử dụng filteredArrayUsingPredicate:.

Giả sử rằng sẽ không phù hợp hơn khi đặt filterPredicate của bộ điều khiển mảng. Nếu bạn làm theo cách đó, thì arrangedObjects sẽ chỉ chứa các đối tượng phù hợp.

+1

Không thể chấp nhận hai câu trả lời cho một câu hỏi rõ ràng:/nhưng câu trả lời này là như nhau. –

Các vấn đề liên quan