、からメソッドの戻り値を取得します。ココア:私は自分自身をそれを把握するために狂ったようにしようとしてきたが、私は私のロープの終わりだ理由である私は、これは簡単です知っている別のクラス
- (IBAction)startAction:(id)sender {
MyClass *anInstance = [[MyClass alloc] init];
NSLog(@"the name is:%@", [anInstance name]);
あなたが見ることができるように、MyClassのは、「名前」の方法があり、このです:
- (NSString *)name {
return [nameInput stringValue];
NSLog(@"stringValue = %@", [nameInput stringValue]);
ユーザーがアクションを
これを行うにはを想定しているボタンをクリックする
nameInputは、ユーザーが名前を入力し、startActionを呼び出すためにボタンを押すテキストフィールドです。このメソッドは、テキストフィールドから文字列値を返してログを作成する別のクラスで "name"を呼び出す必要があります。実際に何が起こっている
はスタートがログが言う押したとき「:(ヌル)の名前がある」ということです。そして、2番目のログは表示されません。私はそれが "名前"メソッドが呼び出されていないためだと仮定します。しかし、私は理由を知らない。私は、彼らが別々のクラスにあることを指定する必要がありますし、私はこのような「名前」メソッドを宣言:
- (NSString*)name;
編集:私の周りにもう少しだますには、「名前」の方法は、それ自身のクラスから呼び出されたときにことを発見した後、ログはテキストフィールドにあったものを正しく示します。私は "名前"メソッド内に余分なログを入れて、それはがであることがわかりますが、それが戻ってくる値はまだ(null)です。テキストフィールドの文字列を取得しないようにします。
編集:私はこれが重要なのかはわからないが、クラスの一つは、NSObjectののサブクラスで、他はNSViewControllerのサブクラスです。
詳細情報が必要な場合はお知らせください。 助けてくれてありがとう。メソッドから戻ると、この方法で起こる最後の事である私はあなたがNSLog()
に関する警告を得ることはありません驚いている( - あなたはNSLog()
コマンドの前に値を返すことはできませんname
方法で
今すぐ注文を確定すると、両方が表示されますが、再度リンクしても表示されます(無効) – Elbimio