[解決済み】Swiftの構造体のために、メンバーごとの初期化子をデフォルトで公開するにはどうすればよいですか?
2022-04-07 18:48:11
質問
Swiftのフレームワークで、構造体を定義しています。
public struct CollectionTO {
var index: Order
var title: String
var description: String
}
しかし、ライブラリをインポートしている他のプロジェクトから暗黙のメンバーワイズイニシャライザを使用することができないようです。というエラーが出ます。
'CollectionTO'はアクセス可能なイニシャライザーがないため、初期化できません。
すなわち、デフォルトで合成されたメンバー単位の初期化子は
public
.
var collection1 = CollectionTO(index: 1, title: "New Releases", description: "All the new releases")
こんな感じで、自分でinitメソッドを追加する必要があるんです。
public struct CollectionTO {
var index: Order
var title: String
var description: String
public init(index: Order, title: String, description: String) {
self.index = index;
self.title = title;
self.description = description;
}
}
を明示的に定義することなく、これを実現する方法はないでしょうか。
public init
?
解決方法は?
マニュアルを引用する。
<ブロッククオート構造体型のデフォルトのメンバ型初期化子 構造体型のデフォルトのメンバーワイズ・イニシャライザーは、構造体の保存されたプロパティのいずれかがプライベートである場合、プライベートとみなされます。そうでない場合、イニシャライザーのアクセスレベルは internal です。
上記のデフォルトイニシャライザーと同様に、パブリック構造体型を他のモジュールで使用する際にメンバーワイズイニシャライザーで初期化できるようにしたい場合は、その型の定義の一部としてパブリックメンバーワイズイニシャライザーを自分で提供しなければなりません."。
より抜粋 Swift プログラミング言語" セクション "アクセスコントロール" .
関連
-
[解決済み] swift 3 エラー。引数ラベル '(_:)' は利用可能なオーバーロードに一致しません。
-
[解決済み] なぜswiftではアンダースコアが必要なのですか?
-
[解決済み] Swiftベースのアプリケーションは、OS X 10.9/iOS 7以下でも動作しますか?
-
[解決済み] 純粋な」Swift で弱いプロトコル参照を作るには (@objc なしで) どうしたらいいですか?
-
[解決済み] Swiftを使用してアプリのバージョンとビルド番号を取得するにはどうすればよいですか?
-
[解決済み] Swift で app delegate への参照を取得するにはどうすればよいですか?
-
[解決済み] Swift で HTTP リクエストを行うにはどうしたらいいですか?
-
[解決済み】SwiftのコードをObjective-Cにインポートするにはどうすればいいですか?
-
[解決済み】Swiftでボタンに丸みを帯びたボーダーを付けるにはどうすればいいですか?
-
[解決済み】Goの構造体にデフォルト値を設定する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Swift presentViewController
-
[解決済み] Swiftで文字列が別の文字列を含んでいるかどうかを確認するには?
-
[解決済み] Swift - 呼出しの余分な引数
-
[解決済み] SwiftはPass By ValueかPass By Referenceか
-
[解決済み] なぜクラスではなくストラクチャーを選ぶのか?
-
[解決済み】Swiftの辞書にキーが含まれているかどうかを判断し、その値を取得する。
-
[解決済み】swiftで変数のメモリアドレスを印刷する
-
[解決済み】Xcode 8 Beta 3 Legacy Swiftを使用する問題
-
[解決済み]SwiftでErrorタイプでローカライズされた説明を提供する方法は?
-
[解決済み】ReactiveCocoaとRxSwiftの比較 - 長所と短所?