Я делаю приложение для iPhone, где игрок использует автомобиль. Я хочу, чтобы плеер мог сохранять настройки, на которых цвет автомобиля они хотят использовать. Когда я читаю файл, который я сделал для хранения цвета автомобиля игрока, моя глобальная переменная NSString не изменит значения. вот мой код:
NSString *carColor;
NSString *filePath2 = [[NSBundle mainBundle] pathForResource:@"carColor" ofType:@"txt"];
if(filePath2){
carColor = [NSString stringWithContentsOfFile:filePath2 encoding:NSUTF8StringEncoding error:NULL];
}
currentCarImage = [NSString stringWithString:carColor];
Переменная carColor назначается правильно, но когда я смотрю в отладчике, он говорит, что currentCarImage - пустая строка. Если бы я положил это:
currentCarImage = @"greenCar.png";
Это будет работать просто отлично. Я даже попробовал это:
NSString *filePath2 = [[NSBundle mainBundle] pathForResource:@"carColor" ofType:@"txt"];
if(filePath2){
currentCarImage = [NSString stringWithString:[NSString stringWithContentsOfFile:filePath2 encoding:NSUTF8StringEncoding error:NULL]];
}
Но это тоже не сработало. Есть идеи?
EDIT:
Мне удалось заставить это работать таким образом, но это все еще не очень удовлетворительно. Я изменил свой код на это:
NSString *carColor;
NSString *filePath2 = [[NSBundle mainBundle] pathForResource:@"carColor" ofType:@"txt"];
if(filePath2){
carColor = [NSString stringWithContentsOfFile:filePath2 encoding:NSUTF8StringEncoding error:NULL];
}
if([carColor isEqualToString:@"greenCar.png"]){
currentCarImage = @"greenCar.png";
}
if([carColor isEqualToString:@"blueCar.png"]){
currentCarImage = @"blueCar.png";
}
if([carColor isEqualToString:@"redCar.png"]){
currentCarImage = @"redCar.png";
}
if([carColor isEqualToString:@"purpleCar.png"]){
currentCarImage = @"pupleCar.png";
}
if([carColor isEqualToString:@"yellowCar.png"]){
currentCarImage = @"yellowCar.png";
}
if([carColor isEqualToString:@"turquoiseCar.png"]){
currentCarImage = @"turquoiseCar.png";
}