(1), вы должны написать
NSString* newseparator = @"=";
хотя напрямую с помощью
NSArray *subarray = [s componentsSeparatedByString:@"="];
намного лучше (или сделать newseparator
глобальной константой).
(2), Ваше последнее заявление,
NSMutableDictionary = [NSDictionary dictinaryWithObject:@"class_name" forKey:@"key"];
недопустимо, потому что (a) NSMutableDictionary
является типом; (б) вы создаете словарь, а не изменяемый словарь; (в) вы создаете его каждый раз и перезаписываете предыдущие; (d) вы создаете словарь с постоянными значениями @"class_name"
и ключами @"key"
, который не соответствует фактическим переменным class_name
и key
.
Чтобы добавить пары ключ-значение в 1 хеш-таблицу, вы должны создать изменяемый словарь в начале
NSMutableDictionary* dict = [NSMutableDictionary dictionary];
и затем в цикле используйте -setObject:forKey:
, чтобы добавить его в словарь:
[dict setObject:class_name forKey:key];
В заключение, вы должны изменить код как
NSMutableDictionary* dict = [NSMutableDictionary dictionary];
for(NSString *s in mainarr) {
NSArray *subarray = [s componentsSeparatedByString:@"="];
// Get the elements of array into key and object string variables
NSString *key = [subarray objectAtIndex:0];
NSLog(@"%@",key);
NSString *class_name= [subarray objectAtIndex:1];
NSLog(@"%@",class_name);
//Putting the key and objects values into hashtable
[dict setObject:class_name forKey:key];
}
return dict;