2011-06-23 9 views
1

私はこのような私の(IBAction)のbuttonPressed方法から私のURLConnectionのメソッドを呼び出します。iPhoneのエラー「何かない構造体または共用体のメンバーconnectWebの要求に」

[自己connectWeb]。

私は「何かない構造体または共用体のメンバconnectWeb要求」エラーが出る

が、私は私と同じメソッドを呼び出す - それは動作します(無効)viewDidLoadメソッド!

+1

ヘッダーファイルに 'connectWeb'メソッドを追加してみてください。 – fatih

答えて

2

実装ファイルにはconnectWebメソッドはありますか?

viewDidLoadより前ですが、buttonPressedの後であると思います。

この理由はconnectWeb方法がviewDidLoad前に宣言されたことがあるので、それはbuttonPressedメソッドの後なのでbuttonPressed方法は、それを認識していないのに対し、viewDidLoadは、それを認識しています。

あなたにはいくつかのオプションがあります。

  1. 他の方法で使用する前に、メソッドを宣言します。

- (void)connectWeb;

その後、実装内のどこにでもそれを実装することができます。

    viewDidLoadbuttonPressedの両方の前に connectWebの実装を移動
  1. - 両方の方法は、connectWebに気付くであろう。
+0

Obj-Cで注文が重要であることを知りませんでした! thats strange – Spring

+0

コンパイルされた言語でそれほど奇妙ではありません。コンパイラはのbuttonPressedメソッドをコンパイルした場合、それはまだそれについて「語ら」されていないとして、それはconnectWebを認識していません。フォワード宣言するかのbuttonPressed前connectWebを実装して、コンパイラは、メソッドが存在することを認識しています。 – InsertWittyName

0

ヘッダーに欠落している方法ではこの問題は発生しません。 Objective-Cは動的なので、実行時にインスタンスがそのメソッドを実装しているかどうかをチェックします。メソッドが存在すれば動作します。ビルド時にコンパイラの警告が表示されます。

は、ボタンのデリゲートメソッドから[自己connectWeb]行を削除してみて、コピー/貼り付け、それはあなたのviewDidLoad(またはそれを再入力)から。あなたが得ているエラーから、あなたのステートメントに余分な文字があるように聞こえます。これは私のキーボードの&マウスを複数のコンピュータ間で共有するために相乗効果を利用するため、時々私に起こります。

関連する問題