みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

objective-C メソッドの呼び出しについて

こんばんは。objective-Cについて教えてください。

クラス間でのメソッドの呼び出しについてです(果たしてこの言い方であってるのかも怪しいですが…)

例えば、

aクラスの実装ファイル
-(void)setUpView {
 self.checkButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
[self.checkoutButton setTitle:@"チェック" forState:UIControlStateNormal];
[self.completeCheckoutButton addTarget:self
                action:@selector(checkAction)
        forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:self.checkButton];
}

-(void)checkAction {
  処理
}

これで同じクラス内でのメソッドの呼び出しはできていると思いますが、
bクラスの実装ファイルに書いたメソッドを処理として追加したい場合はどう書いたらいいのでしょうか?

一通り調べたつもりですが、もし過去にも同じ質問がありましたら申し訳ありません。
もし説明が足りない場合は補足させていただきますので、どなたかよろしくお願いします。

投稿日時 - 2011-11-13 22:34:12

QNo.7131626

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

> (果たしてこの言い方であってるのかも怪しいですが…)

あやしいですね。

> これで同じクラス内でのメソッドの呼び出しはできていると思いますが、

「これ」は、「メソッドの呼び出し」ではなくて、「メソッドの定義」ですね。

言葉にたいする、意味の与えかたが、一般に通用するものでないので、文章全体が、なにを伝えたいのか不明になっています。

たんに「bクラスの実装ファイルに書いたメソッドを処理として追加したい場合」の説明は、こうなります。

bクラスのインスタンスをbObjectとします。
呼び出したいメソッドを「bMethod」とします。
メソッドの呼び出しは、

[bObject bMethod];

となります。「[」、「]」の間が、メソッドであることを示します。それがObjective-Cの文法です。

投稿日時 - 2011-11-13 23:45:15

補足

これはメソッドの定義というんですか…!
完全に勉強不足です、すみません。

下の方の回答に補足を書かせていただきました。

今回いただいた回答もよく調べてみます。
ありがとうございました!

投稿日時 - 2011-11-14 04:13:13

ANo.1

Objective-C に詳しいわけではないですが,
「bクラスの実装ファイルに書いたメソッドを処理として追加したい」
というのがどういうことかわかりません.

単に呼び出したいだけ? それとも, setUpView の中にコードとして追加したい?

投稿日時 - 2011-11-13 23:42:19

補足

回答ありがとうございます。
勉強不足で正しい説明ができずすみません…。

私がしたいことを拙い言葉ですが申しますと、
aクラスに主な画面の表示や処理を書き、ボタンを押したらbクラスの処理をしてほしいということです。

a.mにすべてのコードを詰め込むと汚くなってしまうため、b.mにボタンを押したときの処理を書いてa.mで使用したいのです。

というかそもそもこんな都合のいいことはできるのでしょうか?
引き続き回答よろしくお願いします。

投稿日時 - 2011-11-14 02:38:27

あなたにオススメの質問