
現在iPhoneアプリを作成するために、Objective-Cの勉強をしています。しかしそこでわからないことがあり、質問させていただきました。
それは私がインスタンス変数(メンバ変数)を宣言してつかっているつもりなのですが、クラス変数の様な動きをするのです。
具体的にコードで説明します。
@implementation Main : NSObject
- (void)hello{
[[Hoge alloc]init];
[[Hoge alloc]init];
}
@end
@implementation Hoge : NSObject
NSNumber *i;
- (id)init{
[super init];
NSLog(@"%d",i.intvalue);
i = [NSNumber numberWithInt:123];
return self;
}
@end
出力結果
null
123
今手元にソースがないので正確ではないかもしれませんが、こんな感じです。hファイルにはとくになにもかいてません。
このソースの動きはmainでHogeクラスのインスタンスを二回作成することによって、initを二回呼んでいます。
疑問点は出力結果の挙動が予想外なことです。私としてはインスタンス作成時のiは初期化されていないため、
出力結果
null
null
になるのを期待しています。しかし二回目のinitでは前回に作成した123というデータが引き継がれています。この挙動はiはインスタンス変数ではなく、クラス変数のようにみえます。
しかしObjective-Cではクラス変数は存在しないとどっかのサイトに書いていました。
以上が質問です。なにかお気づきになった点があればごかいとういただけると幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/06 09:28
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
pythonでhtmlファイルの指定文...
-
FILMORAを使っているのですがテ...
-
⚠️至急です!⚠️ Yahoo!知恵袋の...
-
Google ColaboでGUI作成
-
COPYコマンドで、最後に1文字...
-
uwscでPauseキーが押されたら、...
-
Unityのアニメーションをスクリ...
-
vba クリップボードクリアにつ...
-
画像生成AIのプロンプトの作り...
-
VBscriptについて
-
プログラム上での行のマージ方法
-
HTMLソースが表示のページのも...
-
10進数から2進数に変換 例 185 ...
-
pythonでAmazonのほしいものリ...
-
google Colabでmatplotlibの描...
-
VBSでテキストファイルの2行目...
-
数行削除してコピーするbatファ...
-
ネットワークフォルダの中身を...
-
Pythonでの文字列からfloatへの...
-
VBAでパワーシェルを実行したい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
プログラミングに興味があるの...
-
Google ColaboでGUI作成
-
数行削除してコピーするbatファ...
-
秀丸エディターでの置き換え
-
Fortranでシステム時刻をカレン...
-
覚えることが少ないプログラミ...
-
PowerAutomateで運賃検索がした...
-
uwscでPauseキーが押されたら、...
-
VBAでパワーシェルを実行したい...
-
Python... 環境設定 初心者です...
-
HTMLソースが表示のページのも...
-
batファイル、コマンドプロンプ...
-
Pythonでの文字列からfloatへの...
-
画像生成AIのプロンプトの作り...
-
テキストファイルの1行目のみを...
-
このURLで広告を出しているのは...
-
google Colabでmatplotlibの描...
-
VBSでテキストファイルの2行目...
-
そのまま使っただけなのに・・...
おすすめ情報