NSArrayController에 바인딩 된 NSTableview가 있습니다. Table/Arraycontroller는 핵심 데이터 "Person"엔티티를 포함합니다. 사람들은 GUI 사용자에 의해 NSTableview에 추가됩니다. NSTableview 또는 NSArrayController를 반복하여 데이터를 가져옵니다.
는 이제NSString* Name;
int Age;
NSString* HairColor;
가 지금은 거기에 몇 가지 작업을 수행 할 수있는 어레이 컨트롤러에 저장되는 반복 할 같은 사람의 실체가 보인다 가정 해 봅시다. 제가하고 싶은 실제 작업은 중요하지 않습니다. 나는 정보로 무엇을하려고하는지 정말 싫어합니다. NSArraycontroller에있는 모든 것을 반복하는 것이므로 혼란 스럽습니다. 나는 C++과 C# 배경에서 왔고 코코아를 처음 접했습니다. 앞으로 1 년 동안 nsarraycontroller에서 각 사람을 포함하는 NSMutableArray를 만들고 싶다고 가정 해 봅시다.
그래서 나는 유일한 것은 다시 코드와 같은 일을하고 나를 잡고 위의 Obj-C에 존재하지 않는 foreach 문이 생각
NSMutableArray* mutArray = [[NSMutableArray alloc] init];
foreach(PersonEntity p in myNsArrayController) // foreach doesn't exist in obj-c
{
Person* new_person = [[Person alloc] init];
[new_person setName:p.name];
[new_person setHairColor:p.HairColor];
[new_person setAge:(p.age + 1)];
[mutArray addObject:new_person];
}
처럼 뭔가를 할 것입니다. 난 그냥 nsarraycontroller를 반복하는 방법을 모르겠다.
참고 :이 그래서 가비지 컬렉션 당신은 fast enumeration 찾고있는