В моем приложении мне нужно вставить элемент NSMutableArray в NSMutableDictionary. Мой массив как следующие:Вставить объект NSMutableArray в NSMutableDictionary
[Entity_ID] [Lastname] [Firstname] [Email] [Street] [StreetNr] [Zipcode] [City] [Opt] [Gender] [Age] [Clicks] [Transactions]
Теперь мне нужно создать NSMutableDictionary как следующую структуру:
key = "ID" value = "Entity_ID"
key = "Lastname" value = "Lastname"
key = "Firstname" value = "Firstname"
key = "Email" value = "Email"
key = "Street" value = "Street"
key = "StreetNr" value = "StreetNr"
key = "Zipcode" value = "Zipcode"
key = "City" value = "City"
key = "Opt" value = "Opt"
key = "Gender" value = "Gender"
key = "Age" value = "Age"
key = "Clicks" value = "Clicks"
key = "Transactions" value = "Transactions"
Кто-нибудь может помочь мне найти решение, чтобы сделать этот материал? Спасибо!
UPDATE
Я пытался использовать код предложить мне по trojanfoe, и она работает, но это не совсем то, что мне нужно. Я получаю данные, хранящиеся в моем NSMutableArray, путем разбора CSV-файла. Файл CSV имеет следующую структуру:
Entity_ID Lastname Firstname Email Street StreetNr Zipcode City Opt Gender Age Clicks Transactions
ID Surname Name mail address number zip city x female xy z k
ID Surname Name mail address number zip city x female xy z k
ID Surname Name mail address number zip city x female xy z k
ID Surname Name mail address number zip city x female xy z k
ID Surname Name mail address number zip city x female xy z k
ID Surname Name mail address number zip city x female xy z k
ID Surname Name mail address number zip city x female xy z k
Если я использую код, который tojanfoe предложил мне, я могу создать NSMutableDictionary, в котором я сохранить только первую строку моего CSV, теперь, как я могу сделать то же самое для всей строки моего CSV?
UPDATE 2
я сделал по-другому, это мой код:
NSMutableArray *finalArray = [[NSMutableArray alloc]init];
NSMutableDictionary *rowDataDict = [[NSMutableDictionary alloc]init];
int i = 0;
int k = 0;
for (int j = 0; j < cleanedArray.count; j++) {
while (i < 11) {
if (k < cleanedArray.count) {
NSLog(@"%@", finalArray);
NSLog(@"k = %d, i = %d", i, k);
[rowDataDict setObject:cleanedArray[k] forKey:@"Lastname"];
k++;
i++;
NSLog(@"%@", finalArray);
NSLog(@"k = %d, i = %d", i, k);
[rowDataDict setObject:cleanedArray[k] forKey:@"Firstname"];
k++;
i++;
NSLog(@"%@", finalArray);
NSLog(@"k = %d, i = %d", i, k);
[rowDataDict setObject:cleanedArray[k] forKey:@"Email"];
k++;
i++;
NSLog(@"%@", finalArray);
NSLog(@"k = %d, i = %d", i, k);
[rowDataDict setObject:cleanedArray[k] forKey:@"Street"];
k++;
i++;
NSLog(@"%@", finalArray);
NSLog(@"k = %d, i = %d", i, k);
[rowDataDict setObject:cleanedArray[k] forKey:@"StreetNr"];
k++;
i++;
NSLog(@"%@", finalArray);
NSLog(@"k = %d, i = %d", i, k);
[rowDataDict setObject:cleanedArray[k] forKey:@"Zipcode"];
k++;
i++;
NSLog(@"%@", finalArray);
NSLog(@"k = %d, i = %d", i, k);
[rowDataDict setObject:cleanedArray[k] forKey:@"City"];
k++;
i++;
NSLog(@"%@", finalArray);
NSLog(@"k = %d, i = %d", i, k);
[rowDataDict setObject:cleanedArray[k] forKey:@"Opt"];
k++;
i++;
NSLog(@"%@", finalArray);
NSLog(@"k = %d, i = %d", i, k);
[rowDataDict setObject:cleanedArray[k] forKey:@"Gender"];
k++;
i++;
NSLog(@"%@", finalArray);
NSLog(@"k = %d, i = %d", i, k);
[rowDataDict setObject:cleanedArray[k] forKey:@"Age"];
k++;
i++;
NSLog(@"%@", finalArray);
NSLog(@"k = %d, i = %d", i, k);
[rowDataDict setObject:cleanedArray[k] forKey:@"Clicks"];
k++;
i++;
NSLog(@"%@", finalArray);
NSLog(@"k = %d, i = %d", i, k);
[rowDataDict setObject:cleanedArray[k] forKey:@"Transactions"];
NSLog(@"%@", finalArray);
}
}
[finalArray addObject:rowDataDict];
NSLog(@"%@", finalArray);
i = 0;
}
NSLog(@"%@", finalArray);
И я получаю с ума: когда я выполняю код, который я разместил здесь это создать для me массив словарей, но в этом массиве я всегда видел один и тот же словарь. я пытался выполнить его с помощью контрольных точек, и я вижу при = 1 она меняет свою finalArray
во время я создаю словари, почему это изменить мой finalArray
перед выполнением инструкции [finalArray addObject:rowDataDict];
Итак, вам нужен массив словарей или словарь массивов? – trojanfoe
Извините, что я видел ваше уведомление только сейчас, потому что я пытаюсь найти решение, но если вы посмотрите на мой вопрос, я обновил его с помощью кода, который я написал, чтобы создать массив словарей. Надеюсь, вы можете помочь мне исправить это. – lucgian841