Эй, все, у меня тут странная проблема
Сначала я создаю небольшой проект, чтобы попытаться написать словарь для plist
Я объявил текстовое поле и кнопку, и это код IBAction:
NSArray *localPathsTemp = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *localDocPathTemp = [localPathsTemp objectAtIndex:0];
NSString *localFilePathTemp = [localDocPathTemp stringByAppendingPathComponent:@"InputPassword.plist"];
NSMutableDictionary *localDictreadTemp = [[NSMutableDictionary alloc] initWithContentsOfFile:localFilePathTemp];
NSMutableDictionary *localSerialNumber = [NSMutableDictionary dictionaryWithObject:setSN.text
forKey:@"input_serial_number"];
Я пытаюсь записать то, что я пишу
NSLog(@"Local Dictionary : %@",[localDictreadTemp valueForKey:@"input_serial_number"]);//"input_serial_number=1"
NSLog(@"Dictionary-localSerialNumber is %@",[localSerialNumber valueForKey:@"input_serial_number"]);//1(I enter 1 at textfield)
Все хорошо, как я думаю
Но я перенесу все это в свой проект
Я получил NULL
Это код в моем исходном проекте (в виде предупреждения)
NSArray *localPathsTemp = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *localDocPathTemp = [localPathsTemp objectAtIndex:0];
NSString *localFilePathTemp = [localDocPathTemp stringByAppendingPathComponent:@"InputPassword.plist"];
NSMutableDictionary *localDictreadTemp = [[NSMutableDictionary alloc] initWithContentsOfFile:localFilePathTemp];
NSMutableDictionary *localSerialNumber = [NSMutableDictionary dictionaryWithObject:setLocalSerialNumber.text
forKey:@"input_serial_number"];
[localDictreadTemp addEntriesFromDictionary:localSerialNumber];
[localDictreadTemp writeToFile:localFilePathTemp atomically:YES];
NSLog(@"Text in the textfield:%@",setLocalSerialNumber.text);
NSLog(@"Local Dictionary %@",localSerialNumber);//"input_serial_number" = 1
NSLog(@"Dictionary-LocalDictreadTemp %@",[localDictreadTemp valueForKey:@"input_serial_number"]);//NULL
Последний результат - NULL
Это проблема, которую я не могу понять, я получил значение в образце, но здесь не работает.
Почему ... я указал неправильный путь к файлу или ...?
Спасибо за все ответы
Подробнее о моем проекте
Мое приложение используется для управления аппаратным устройством
Если пользователь впервые использует приложение
Пользователь должен ввести пароль и серийный номер устройства
Устройство используется Bonjour для поиска устройства
И получить серийный номер / пароль по умолчанию из URL-адреса (в этом случае в WIFI)
Например: URL http://11.33.44.65/defaultsn_pwd.php
Я получу файл plist, например:
{
sn = 1;
pwd = 777;
}
Это информация, которую пользователь не может видеть.
И приложение отобразит alertView с двумя текстовыми полями
Если текст в текстовом поле соответствует URL формы sn / pwd
Это будет писать в.
Но !!! если пользователь находится в среде 3G, он подключится к моему серверу для управления устройством
Это сильно отличается от Wifi, потому что вы должны дать серверу серийный номер устройства
Итак
Введите серийный номер (мне нужно написать в plist на iphone, но получил NULL здесь)
Взять серийный номер как часть нового URL, например. http://server/defaultsn_pwd.php
? Sn = 1
Потому что я не могу написать серийный номер в plist, поэтому я не могу получить правильный URL
Мой URL будет похож на http://server/defaultsn_pwd.php
? Sn = NULL
Это приведет к краху моей программы
Это очень смертельные проблемы, пожалуйста, помогите мне разобраться с этой проблемой ...
Я слишком долго занимался этой проблемой ...