c言語とobjective-cを並行して勉強しています。
c言語では機能をまとめるために関数を定義できますよね。
-----
void display(int a){
printf("%d" , a);
}
int main(void){
display(10);
}
---
これでdisplayという関数に10という引数を渡して表示させることができますよね?
objective-cの場合は例えば以下のように書くことがわかり、コンパイルも通りました。
- (void)display{
NSlog(@" TEST ");
}
しかし・・・・呼び出すことができませんね。。。
objective-cの場合は[ インスタンス メソッド名 ]; のような呼び方なのですよね。
メソッドだけを呼び出すことはできない、ってことなのでしょうか・・・?
色々検索してみたのですが、
@implement~@endで囲んでクラスにして
インスタンスを作って、メソッドを呼ぶ方法ばかりで、
上記のC言語の例のような、単純な関数定義→呼び出しの方法を見つけることができませんでした。
上記のようなC言語の例はよくあると思うのですが、
これと同じことがobjective-cで、できるともできないとも、書いてないように思います。
例えば上のc言語と同じ動作をobjective-c
に移植するとどうなるのでしょうか・・・?というか、不可能、ということでしょうか・・・?
No.1ベストアンサー
- 回答日時:
void display(int a){
printf("%d",a) ;
/* NSLogを使うなら */
NSLog(@"%d" , a);
}
int main(void){
display(10);
}
Objective-Cで、「Objective」な部分を使わなければ、普通のCです。
この回答への補足
ご回答ありがとうございます。
確かに実行することが出来ました。ありがとうございました。
しかし、さらに試してみようと、アラートを表示するメソッドを作ってみると
コンパイルがとおりませんでした。
void display2(){
UIAlertView *alert = [
[UIAlertView alloc]
initWithTitle:@"警告"
message:@"よろしいですか?"
delegate:self // /【ここでエラー】Use of undeclared identifier 'self'
cancelButtonTitle:@"OK"
otherButtonTitles:nil
];
[alert show];
[alert release];
}
そこでメソッド表記を
-(void) display2{
とするとコンパイルが通りました。
しかしこれだと
display;
で呼ぶことが出来ませんでした。
でも、ここでよくソースを眺めてみるとdidloadにヒントがありました!
[self display2 ];
で呼び出すことが出来ました!
インスタンス部分には
self
とかけばよかったのですね?!
(これは正しいですかね??)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# C言語 3 2022/10/04 15:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CloseとDisposeの違い
-
C# 超初心者です。 this.Refres...
-
[C#]FormクラスのShowメソッド...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
EXCEL VBA マクロ 実行する度に...
-
Excelシート上のマクロを登録し...
-
エクセルVBAで、MsgBox やInput...
-
switch の範囲指定
-
VBAでループ内で使う変数名を可...
-
【Excel】特定の文字を含むセル...
-
マクロで作ったボタンのサイズ...
-
DoEventsがやはり分からない
-
メルカリのメルカードで買い物...
-
findは動くがfindnextがマクロ...
-
VBの質問#if 0 then ってどう...
-
VBAにてメッセージボックスを最...
-
【Excel VBA】マクロボタンを表...
-
アクセスVBAのMe!と[ ]
-
UMLでの例外処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CloseとDisposeの違い
-
C# 超初心者です。 this.Refres...
-
DLL内のイベントをハンドリング
-
C#のインスタンスを参照渡ししたい
-
コールバックでイベントを使う...
-
C#で引数を渡して、スレッド用...
-
[C#]FormクラスのShowメソッド...
-
フィールド(メンバ変数)のプリ...
-
Try~Catch、Finallyについて。
-
vb.net フォームアプリケーシ...
-
OCXのメソッドの引数に文字列を...
-
どういうプログラムで組みます...
-
objective-cにはCのような関数...
-
「ご処理進めて頂きますようお...
-
メルカリのメルカードで買い物...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
Excelシート上のマクロを登録し...
-
エクセルVBAで、MsgBox やInput...
-
【Excel】特定の文字を含むセル...
おすすめ情報