property
以前は、クラス間でデータを渡すために次のように宣言していました。
.h file (interface file)
@property (nonatomic) double topSpeed;
.m file (implementation file)
@synthesize topSpeed;
クラスがなくなりました。interface
クラス間でデータを渡すにはどうすれば.swift
よいですか?
property
以前は、クラス間でデータを渡すために次のように宣言していました。
.h file (interface file)
@property (nonatomic) double topSpeed;
.m file (implementation file)
@synthesize topSpeed;
クラスがなくなりました。interface
クラス間でデータを渡すにはどうすれば.swift
よいですか?
あなたの質問の少なくとも一部は、特定のクラスのインターフェースを他のクラスに伝達することに関連しているようです。Java と同様に (C、C++、および Objective-C とは異なり)、Swift はインターフェースを実装から分離しません。import
他の場所で定義されたシンボルを使用する場合は、ヘッダー ファイルは必要ありません。代わりに、次のようなimport
モジュールを作成します。
import Foundation
import MyClass
別のクラスのプロパティにアクセスするには、そのクラスをインポートします。
保存されたプロパティとインスタンス変数
Objective-C を使用した経験がある場合は、クラス インスタンスの一部として値と参照を格納する 2 つの方法が提供されていることをご存知かもしれません。プロパティに加えて、インスタンス変数をプロパティに格納された値のバッキング ストアとして使用できます。
Swift は、これらの概念を単一のプロパティ宣言に統合します。Swift プロパティには対応するインスタンス変数がなく、プロパティのバッキング ストアには直接アクセスされません。このアプローチにより、さまざまなコンテキストで値がどのようにアクセスされるかについての混乱が回避され、プロパティの宣言が 1 つの明確なステートメントに簡素化されます。プロパティに関するすべての情報 (名前、型、メモリ管理特性など) は、型の定義の一部として 1 つの場所で定義されます。
スウィフトプログラミングブックから:
struct FixedLengthRange {
var firstValue: Int
let length: Int
}
var rangeOfThreeItems = FixedLengthRange(firstValue: 0, length: 3)
私は言う: typealias
は、迅速にさらに同等です@synthesize
このリンクを見てください:https://docs.swift.org/swift-book/ReferenceManual/Declarations.html