この例ではなぜそれを設定したのか理解しようとしています。swift iosこの例ではsetを使用しました
コード画像(画像スライダ)を表示PageControllerでから、そのピース:
import UIKit
class PageItemController: UIViewController {
// MARK: - Variables
var itemIndex: Int = 0
var imageName: String = "" {
didSet {
if let imageView = contentImageView {
imageView.image = UIImage(named: imageName)
}
}
}
@IBOutlet var contentImageView: UIImageView?
// MARK: - View Lifecycle
override func viewDidLoad() {
super.viewDidLoad()
print(imageName)
contentImageView!.image = UIImage(named: imageName)
}
}
Iは、同じコードが、wihtout didSet
を試みていると私は、速度などの任意の変化に気付くいけない、なぜそれが中古?
最初の読み込み中に期待どおりに動作します。しかし、didSetを削除して、それを行う追加のコードがない場合、imageNameが変更されると、イメージは変更されません。 didSetは、imageNameが変更されたときに実際のイメージも変更するかどうかを確認します。それ以外の場合は、imageNameを変更するコードも実際のイメージを変更する必要があります。もちろん、ビューのライフタイム中にイメージが変更された場合もあります。 – smozgur