2011-05-02 93 views
0

嗨,我試圖將一個ViewController中的NSString傳遞給NSObject中的NSString。 這裏是我在我的NSObject中使用的代碼來調用字符串並將其傳遞給我的新字符串。將NSString從ViewController傳遞給NSObject

RegisterDeviceViewController *S = [[RegisterDeviceViewController alloc] init]; 
tempRegCode = S.checkString; 
NSLog(@"tempRegCode=%@",tempRegCode); 

的問題是,一旦按下視圖上的按鈕啓動該方法在我的NSObject它工作甜但是沒有被傳遞給tempRegCode ..這是我的日誌。

[會話開始於2011-05-03 9時27分35秒+ 1200] 2011-05-03 09:27:36.264 instaCode1.3 [1456:207]百勝百勝餵我更多的cookie! ! func = ERROR 代碼= 1 Text = Please Register Device 2011-05-03 09:27:36.266 instaCode1.3 [1456:207] cookieCode = code1 2011-05-03 09:27:37.983 instaCode1.3 [ 1456:207] alerts.m確定按鈕被按下 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]; 

}

+0

也許你可以展示一個你傳遞值的嘗試的例子嗎?將它作爲方法參數傳遞或設置Property或變量? – 2011-05-02 21:57:24

回答

0

你的財產checkString設置爲您的視圖控制器的-init方法什麼?如果你不這樣做,它將默認爲NULL。

像這樣的東西(在你的RegisterDeviceViewController.m文件):

- (id)init { 
    self.tempRegCode = @"My String"; 
} 

如果你想獲得一個字符串,它是在RegisterDeviceViewController的已實例化的副本,你需要的是副本的引用,而不是新分配的一個。例如,如果您的XIB文件中有RegisterDeviceViewController的實例,請在您的NSObject子類中使用IBOutlet到此實例,然後在該實例上調用-tempRegCode

+0

是的我正在設置它像這樣的UITexField checkString = regTextField.text; – tinhead 2011-05-02 21:55:00

+0

爲什麼在初始化時,視圖控制器在regTextField中有任何文本? – adam 2011-05-02 22:10:11

+0

那不是我的代碼亞當,這是來自凱爾的建議,我的代碼是上面..對不起,我沒有顯示我是如何將文本從textfield傳遞到NSString,因爲我測試了它,它顯示代碼這是傳遞給它..因此,我認爲在NSObject的錯誤已經結束......但我已經更新了我的帖子,並添加了與奇怪問題有關的所有代碼。 – tinhead 2011-05-02 22:27:55

相關問題