0

こんにちは、ViewController にある NSString を NSObject の NSString に渡そうとしています。これは、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] yum yum feed me more cookie!! func=ERROR Code=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 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=(ヌル)

最後にわかるように、'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];

}

4

1 に答える 1

0

そのように checkString にアクセスするには、checkString を非アトミック プロパティにする必要があります。

RegisterDeviceViewController.h の一番下の の直前に@end追加します。

@property (nonatomic, retain) NSString *checkString;

次に、RegisterDeviceViewController.m の先頭の の直後に@implementation RegisterDeviceViewController

@synthesize checkString;
于 2012-07-16T02:22:10.517 に答える