Objective-C: initとinitialize
2023-08-15 20:13:16
質問
Objective-Cの場合、「init
メソッド(つまり、クラスの指定イニシャライザー)と
initialize
メソッドとの違いは何ですか?それぞれどのような初期化コードを入れればよいのでしょうか?
どのように解決するのですか?
-init
はインスタンスメソッドで、特定のオブジェクトを初期化するために使用されます。
+initialize
はクラスメソッドで、クラスのインスタンスが生成される前や他のクラスメソッドが実行される前に実行されます。
+initialize
は通常使用するものではありませんが、クラス全体が使用する可能性のある静的変数を設定したり、インスタンスが作成される前に特定の条件が満たされていることを確認するのに便利です。
の中に含まれるコードは
-init
メソッドに属するコードは
イニシャライザの実装
のセクションで詳しく説明されています。
Objective-Cプログラミング言語
. また、クラスの初期化に関する議論もあります(例えば
+initialize
のような) クラスの初期化についての議論もあり、 同じ文書内でそれを行う必要がある場合もあります。
クラスオブジェクト
セクションで説明します。に入るコードは
+initialize
に入るコードは、一般に、最初の段階で初期化する必要があるクラスの特別な機能に強く結びついています。で覚えておくべき重要なことのひとつは
+initialize
で (そしてどのクラスメソッドでも) 注意すべき重要な点は
self
はクラスのインスタンスではなく、クラスそのものを指すということです。
関連
-
[解決済み] Objective-Cで乱数を発生させる
-
[解決済み] アトミック属性と非アトミック属性の違いは何ですか?
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] HashMapを直接(リテラルに)初期化する方法は?
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] C#では、文字列の初期化にはstring.EmptyとString.Emptyと""のどちらを使えばいいのでしょうか?
-
[解決済み] C言語標準に準拠した構造体の初期化方法
-
[解決済み】静的なMapを初期化する方法は?
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
-
[解決済み] Objective-Cでは、なぜself = [super init]がnilでないことを確認する必要があるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 複数のサブクラスで1つのストーリーボードuiviewcontrollerを使用する方法
-
[解決済み] iOSの合成されたプロパティの名前を、先頭のアンダースコアで変更するのはなぜですか?重複
-
[解決済み] NSArrayのディープコピー
-
[解決済み] switch文の中で変数を宣言する [重複]。
-
[解決済み] ベストプラクティス - 自分のプロジェクト/アプリのためのNSErrorドメインとコード
-
[解決済み] objective-cでNSURLの一部を取得する
-
[解決済み] ブロックベースのAPIメソッドでnonnullとnullableのObjective-Cキーワードを使用する方法
-
[解決済み] idの意味は?
-
[解決済み] iOS - プログラムでUISwitchを設定する方法
-
[解決済み] AppDelegateからストーリーボード上の異なる場所で条件付きで開始する。