高熱でちょっと忘れかけておりますが、日々の積み重ねが大事です!
ではViewControllerの実装です。
MyViewController.m で警告が出ているはずです。
MyViewController.h で property 指定した textField , label , string に対するメソッドがないという事なので、アクセサメソッドの実装をしてやります。
@synthesize textField;
@synthesize label;
@synthesize string;
これらのインスタンス変数が正しく解放されるように dealloc に追記します。
- (void)dealloc {
[textField release];
[label release];
[string release];
[super dealloc];
}
ボタンを押させると changeGreeting がコールされる所まで確認しましたので、ここでテキストフィールドから文字列を取得し、ラベルを書き換えるようにします。
- (IBAction)changeGreeting:(id)sender {
self.string=textField.text; // textFieldから文字列を取得し、自身のstring変数に格納します。
NSString *nameString=string;
if([nameString length]==0) {
nameString=@"World"; // textFieldの文字列が空なら World を代入する
}
NSString *greeting=[[NSString alloc] initWithFormat:@"Hello, %@!",nameString]; // ラベルに表示するメッセージを作成
label.text=greeting;
[greeting release];
}
ここまででビルドすると、以下のような結果が得られます。
大筋は完了しましたが、キーボードが閉じられない事に気がつくでしょう。
MyViewController.m に以下のコードを追記します。
- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
if(theTextField==textField) {
[textField resignFirstResponder];
}
return YES;
}
再度実行すると、Doneでキーボードが隠れる事を確認できます。
以上で完成です!思ったより長かったです・・・体が痛い(T_T)