[解決済み] SwiftでUIViewのサブクラスのためのカスタムinitを書くには?
2022-05-03 18:13:47
質問
と言ってください。
init
a
UIView
サブクラスで
String
と
Int
.
をサブクラス化するだけなら、Swiftではどうすればいいのでしょう?
UIView
? もし私がカスタム
init()
関数のパラメータがStringとIntの場合、initializerから戻る前に"super.init()が呼び出されないと表示されます"。
そして、もし私が
super.init()
指定のイニシャライザーを使用しなければならないと言われました。何を使えばいいのでしょうか?フレーム版?コーダーバージョン?両方ですか?なぜですか?
解決方法は?
その
init(frame:)
バージョンはデフォルトのイニシャライザーです。インスタンス変数を初期化した後にのみ、これを呼び出す必要があります。このビューが Nib から再構成される場合、カスタムイニシャライザーは呼び出されず、代わりに
init?(coder:)
のバージョンが呼び出されます。Swift は現在、必要な
init?(coder:)
を変更し、以下の例を更新しました。
let
変数宣言を
var
と省略可能です。この場合、それらを初期化するのは
awakeFromNib()
または後で
class TestView : UIView {
var s: String?
var i: Int?
init(s: String, i: Int) {
self.s = s
self.i = i
super.init(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}
関連
-
制御が非ボイド関数の終了に達する
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] iOS Simulatorでネットワークを無効にすることは可能ですか?
-
[解決済み] アプリのプレビュー用にiOSシミュレータのビデオをキャプチャー
-
[解決済み] iphoneアプリのベータテストはどのように行うのですか?
-
[解決済み] iOSとWatchKitで画像のtintColorを変更する方法
-
[解決済み] セキュリティで保護されたWebサービスにもアクセスするiOSアプリで、Facebook認証を行うためのデザイン
-
[解決済み] iPhoneでナビゲーションバーを1ページ目だけ非表示にする
-
[解決済み] 致命的なエラー:クラスの未実装イニシャライザー 'init(coder:)' を使用しています。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] UITableViewの下にある余分なセパレータをなくす
-
[解決済み] NSの接頭辞はどういう意味ですか?
-
[解決済み] Objective-CでNSNotificationCenterを通してメッセージを送受信する?
-
[解決済み] iOS Simulatorでネットワークを無効にすることは可能ですか?
-
[解決済み] 「GCC使用時に「Xcode/iOSのライセンスに同意するには管理者権限が必要です。rootでsudoを使用して再実行してください。
-
[解決済み] インポート vs #インポート - iOS 7
-
[解決済み] NSNotificationCenterのaddObserver in Swift
-
[解決済み] UIImageのサイズを変更する最も簡単な方法?
-
[解決済み] Swift 3でディスパッチキューを作成する方法
-
[解決済み] Cocoapods警告 - CocoaPodsがプロジェクトの基本構成を設定しなかった理由は、プロジェクトに既にカスタム構成が設定されているためです。