私は素早く新しい言語です。スウィフトは、新しいオブジェクト指向の機能プロパティオブザーバ「willSet」と「didSet」を提供します。共通の目的Cプロパティとはどのように違いますか?Swift言語でobserverプロパティdidSetとwillSetを使用するとは何ですか?
0
A
答えて
3
主な使用法は、変数の古い値と新しい値をキャプチャし、エスカレートすることです。 willSet
は、変数variableが設定されようとしているnewValue
をキャプチャし、didSet
がoldValueをキャプチャします。
セットアップやティアダウンには非常に便利です。
var fileHandle: FileHandle {
willSet{
otherClass.disableAccessTo(handle: newValue)
}
didSet{
otherClass.enableAccessTo(handle: self.fileHandle)
yetAnotherClass.archiveFile(handle: oldValue)
}
}
5
私はプロパティオブザーバを使用し、より具体的にはdidSet
をさまざまなものに使用します。
UITableView
を持っているし、あなたが好きな要素を保持する配列から、あなたのテーブルビューを移入
UIViewController
に可能性があり
:、
今var persons: [Person]? = nil
あなたpersons
で何かを変更するたびに、配列の場合は、テーブルビューをリロードする必要があります。あなたはその上のテキストの色、フォント、背景色などを設定したい場合
var persons: [Person]? = nil {
didSet {
tableView.reloadData()
}
}
別の例は、@IBOutlets
である可能性があります。通常はviewDidLoad()
またはそのようないくつかの場所でこれを行うだろうが、今あなたができることにdidSet
でも、のようなので:あなたのheaderLabel
が初期化されたとき
@IBOutlet weak var headerLabel: UILabel! {
didSet {
headerLabel.font = UIFont.systemFontOfSize(15)
headerLabel.textColor = UIColor.blueColor()
headerLabel.text = NSLocalizedString("logIn", comment: "")
}
}
さて、これらのプロパティが設定されています。あなたの財産のオブザーバーを使用する方法についてのアイデアを提供します
希望:)
関連する問題
- 1. 変数 - didSetとwillSet
- 2. プロパティオブザーバ(didSet、willSet)でenumを使用するには?
- 3. Swift言語で '@_silgen_name'とは何ですか?
- 4. このビューコントローラは "willSet/didSet"ペアでリークしますか?
- 5. Swiftのゲッターとセッター - 代わりにWillSetとDidSetを使用するのは理にかなっていますか?
- 6. [^ \ n]とは何ですか?(C言語)
- 7. Swift/iOS:計算されたプロパティを使用してUIアップデートをトリガしました。これはより良いです:didSet、willSetまたはset?
- 8. Swiftプロトコルで "didSet"、 "get"、 "set"を使用するのはどうですか?
- 9. JavaとJavascriptの両方で使用できるテンプレート言語は何ですか?
- 10. Windowsシェルスクリプトで使用できるツールと言語は何ですか?
- 11. KotlinにdidSet/willSetアナログがありますか?
- 12. このデモで使用する言語は何ですか?
- 13. Google Spellで使用できる言語は何ですか?
- 14. オブジェクトリテラルの使用を提供する言語は何ですか?
- 15. プレースホルダに#sを使用するプログラミング言語は何ですか?
- 16. willSet/didSetは、xのプロパティを設定するときにコンテナのプロパティxを呼び出すときに呼び出されました
- 17. 非oo言語用のプロトタイプユニットテストフレームワークとは何ですか?
- 18. bitbucketのコードに使用する言語は何ですか
- 19. テストに使用する良いマークアップ言語は何ですか?
- 20. Gun言語に使用するhtml lang値は何ですか?
- 21. jQuery AjaxでisLocalプロパティを使用するとは何ですか?
- 22. 「語彙タイプ」とは何ですか?プログラミング言語間
- 23. 並行言語とは何ですか? Java言語仕様から
- 24. setとdidSetの基本的な違いは何ですか?
- 25. 離散数学とアセンブリ言語の使用法は何ですか?
- 26. コンポーネント指向言語とオブジェクト指向言語の違いは何ですか?
- 27. 自然言語とプログラミング言語の文法上の違いは何ですか?
- 28. SwiftのiCarouselでビジュアルフォーマット言語を使用する
- 29. NSHashTableを使用してSwiftでObserverパターンを実装する3
- 30. アセンブリ言語でグローバル_startとは何ですか?
あなたは[こちら](https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/Properties.html) "プロパティオブザーバー" セクションを読んでいましたか? –
しかし、わからなかった。私は良い例が必要 – RakeshDipuna
この簡単な例を参照してください:http://stackoverflow.com/documentation/swift/536/variables-properties/5220/property-observers#t=201609021224585721363 – Moritz