#nsstring #uitextfield #viewcontroller #nsobject
#nsstring #uitextfield #viewcontroller #nsobject
Вопрос:
Привет, я пытаюсь передать NSString, которая находится в ViewController, в NSString в NSObject. Вот код, который я использую в моем NSObject для вызова строки и передачи ее в мою новую строку.
RegisterDeviceViewController *S = [[RegisterDeviceViewController alloc] init];
tempRegCode = S.checkString;
NSLog(@"tempRegCode=%@",tempRegCode);
проблема в том, что после нажатия кнопки в представлении, которая запускает метод в моем NSObject, он работает нормально, однако ничего не передается во tempRegCode .. вот мой журнал.
[Сеанс начался в 2011-05-03 09:27:35 1200.] 2011-05-03 09:27:36.264 instaCode1.3[1456:207] ням-ням, накорми меня еще печеньем!! функция = Код ОШИБКИ = 1 Текст = Пожалуйста, зарегистрируйте устройство 2011-05-03 09:27:36.266 instaCode1.3[1456:207] cookieCode = code1 2011-05-03 09:27:37.983 instaCode1.3[1456:207] оповещения.нажата кнопка OK 2011-05-03 09:27:49.539 instaCode1.3[1456:207] Регистрация пользователей ‘22222-22222-22222-22222’ 2011-05-03 09:27:49.540 instaCode1.3[1456:207] tempRegCode=(null)
Как вы можете видеть в конце там ‘tempRegCode=(null)??
И вот как я передал переменную в checkString
- (IBAction)submitRegistration:(id)sender{
//NSLog(@"submit Registration button has been pressed");
//add text format here
checkString = regTextField.text;
NSLog(@"Users Registration is '%@'",checkString);
regConnection *Reg= [[regConnection alloc] init];
[Reg startRegConnect];
}
Комментарии:
1. Я думаю, нам нужно увидеть больше кода. Как выглядит метод инициализации registerdeviceviewcontrollers?
2. Если UITextField передается в NSString (как показано в NSLog) внутри контроллера представления, я должен быть в состоянии передать эту строку в NSObject. Когда вы говорите, что хотели бы увидеть метод init, вы имеете в виду метод, в котором я принимаю ввод в мое текстовое поле?
Ответ №1:
Чтобы получить доступ к checkString подобным образом, вам нужно, чтобы checkString был неатомным свойством.
В нижней части вашего RegisterDeviceViewController.h, непосредственно перед @end
, добавьте
@property (nonatomic, retain) NSString *checkString;
Затем, в верхней части RegisterDeviceViewController.m, сразу после @implementation RegisterDeviceViewController
, добавьте
@synthesize checkString;