У меня есть NSTableview, привязанный к NSArrayController. Table / Arraycontroller содержит сущности Core Data "Person". Люди добавляются в NSTableview пользователем графического интерфейса.
Скажем, физическое лицо выглядит как
NSString* Name;
int Age;
NSString* HairColor;
Теперь я хочу перебрать то, что хранится в контроллере массива, чтобы выполнить в нем некоторую операцию. Фактическая операция, которую я хочу выполнить, не важна. Я действительно не хочу увязать в том, что я пытаюсь сделать с информацией. Он просто перебирает все, что хранится в NSArraycontroller, что меня сбивает. Я родом из C ++ и C # и новичок в Cocoa. Допустим, я хочу создать NSMutableArray, который будет содержать каждого человека из nsarraycontroller через 1 год в будущем.
Так что я бы хотел сделать что-нибудь вроде
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];
}
Я считаю, что единственное, что удерживает меня от выполнения чего-то вроде приведенного выше кода, - это то, что foreach не существует в Obj-c. Я просто не понимаю, как перебирать nsarraycontroller.
Примечание: это для OSX, поэтому у меня включена сборка мусора.