0

nsstringに値がありますが、UITextfieldはnullを示しています。

私はIBでuitextfieldを取りました。IBでの接続は正しいです。

これは.hファイルです

{
    IBOutlet UITextField    *dobTextField;
}

@property (nonatomic, retain) UITextField    *dobTextField;

.mファイル内

@synthesize dobTextField;

-(void)displayDOB:(NSString*)str
{
    NSLog(@"%@", str);
    dobTextField.text = str;
}

ログに値が表示されています...しかしdobTextFieldがnullを表示しています...試してみました

dobTextField.text = [NSString StringWithValue:@"%@", str]; 

しかし、役に立たない...

みんな助けてください。

4

2 に答える 2

1

やってみる...

NSLog(@"%@", self.dobTextField);

ゼロですか?(あってはならない)

IB のコンセントに接続していない可能性があります。

編集

うーん...考え直して、あなたは物事を混乱させていると思います。

  1. .h ファイルから ivar を削除します。@プロパティを使用するだけです。

    @property (nonatomic, retain) IBOutlet UITextField *dobTextField;
    
  2. .m ファイルから @synthesize を削除します。

  3. displayDOB 関数では、これを使用します...

    self.dobTextField.text = str;
    

これにより、すべてが同じものを参照していることが保証され、プロパティに関してはベスト プラクティスの方法も使用されます。

于 2013-01-21T14:27:43.947 に答える
-1

xib で UITextField のアウトレットを設定していないようです

インターフェイスビルダーで確認してください

また、この行を変更します

@property (nonatomic, retain) UITextField    *dobTextField;

@property (nonatomic, retain) IBOutlet UITextField    *dobTextField;

また、この行を変更します

dobTextField.text = str;

self.dobTextField.text = str;

これがあなたに役立つことを願っています..

于 2013-01-21T14:31:29.290 に答える