- ベストアンサー
iPhoneアプリ開発での文字列表示の問題
- iPhoneアプリ開発で、Xcodeを使用してview上のTextFieldに入力された文字列を別のTextFieldに表示できません。
- ビルドはエラーにならず、シミュレーターでも動作しますが、文字列が表示されずにプログラムが停止してしまいます。
- 参考書やインターネットで情報を調査しましたが、解決策が見つかりませんでした。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No.1の方の回答のとおりですが、もうすこし掘り下げた話をします。 ソースファイル上で、クラス名やインスタント名を、Command + Optionキーを押しながらダブルクリックすると、その項目のリファレンスが、ヘルプウインドウで表示されます。クラスリファレンス、今回の場合はUITextFiele Class Referenceは、かならず調べるようにしてください。そのくらす、そのスーパークラスのクラスリファレンスに載っていないメソッドは、使えません。使えるメソッドは、リファレンスに載っているもので、すべてです。 UITextFieldとそのスーパークラスに、stringValueというメソッドはありませんから、「NSString *str = [myOutlet1 stringValue];」の行は成立しません。 > @implementation rensyuuViewController クラス名は、大文字で始めるという規則になっています。これはクラス名とインスタンス名を明確に区別しないと、あとからコードを読むときに混乱してしまうからです。 > [myOutlet2 setText:[NSString stringWithFormat:@"%@",str]]; [NSString stringWithFormat:@"%@",str]は、単に「str」だけですみます。どうしてもとおっしゃるなら、「[NSString stringWithString: str]」でじゅうぶんです。
その他の回答 (1)
[myOutlet1 stringValue] ではなく、 [myOutlet1 text] にしてみてください。
お礼
ありがとうございました。 ご指摘の通りで、きちんと動きました。 地方都市で、周りに誰もプログラミングをしている人がいない環境では、 素人プログラマにとっては参考書とネットだけが頼りですが、 今回の件は、ネット上でも見つけることが出来ませんでした。 プロの方にとっては、初歩の初歩だから誰も書いてくれていないのでしょうか。 どちらにしても、皆さんのおかげで、前へ進むことが出来ます。 どうもありがとうございました。
お礼
ありがとうございました。 ご指摘の通りに修正したところ、きちんと動作しました。 さらに素人プログラマでは、なかなか知り得ないことを、詳しく教えていただきありがとうございます。 後半でご指摘いただいたsetTextの使い方も、ありがとうございます。 数値をテキストとして扱うよりも、文字列をそのまま扱う方が簡単なことがわかりました。 参考書の例文を参考にしながら作っているのですが、私の持っている参考書では、 どれも数値の例しかなかったので、お教えいただいたような書き方は初めて知りました。 1週間以上も、今回の件で悩んでいたので本当に助かりました。 重ね重ね、ありがとうございました。