Если у вас есть только 4 объекта, не зацикливайтесь, вы можете просто -
Если у вас есть подкласс клиентов, вы можете использовать:
newCustomer.contactName = [importArray objectAtIndex:0];//change it to the correct index, and correct property name
newCustomer.phone = [importArray objectAtIndex:1];
//....And so on
иначе вам нужно будет использовать
[newCustomer objectForKey:@"contactName"] = [importArray objectAtIndex:0];
НО
Если у вас много свойств в CSV, вы можете установить другой массив ключей в вашей сущности и -
for(NSUInteger i=0;i<[importArray count];i++){
[newCustomer objectForKey:[keysArry objectAtIndex:i]] = [importArray objectAtIndex:i];
}
Лучше иногда
Лучший способ справиться с этим, особенно если у вас много свойств, -
//1. crate a dictionary from your CSV with keys that are similar to your entity property names.
NSDictionary *csvDictinary = []//set your dictionary.
//2.get all the property names from your customers entity
NSDictionary *attributes = [[NSEntityDescription
entityForName:@"Costumer"
inManagedObjectContext:self] attributesByName];
//3. set the properties to your entity
for (NSString *attr in attributes) {
[Costumer setValue:[csvDictinary valueForKey:attr] forKey:attr];
}
EDIT
Подкласс вашей сущности:
- выберите объект в редакторе моделей.
- в меню Xcode выберите Editor -> Create NSManagedObject Subclass.
- импортируйте или @class свой новый подкласс, если вы хотите сослаться на него.
КСТАТИ
- Подкласс ваших сущностей - это облегчит вашу жизнь и улучшит производительность.
- Ваше имя лица должно быть - «Клиент» в единственном числе, так как оно содержит только 1 клиента.