ビデオ: ITパスポート/クリティカルパスの計算・アローダイヤグラム【第19回】 2024
Swiftでは、必要に応じてバッキング変数が明示的に宣言されます(通常Objective-Cから変換されたコード)。また、getterはgetキーワードを使用する必要はありません。スウィフトプロパティは変数または定数です。
-
変数プロパティの宣言: 変数はキーワードで導入されます。
var _fetchedResultsController:NSFetchedResultsController?
-
変数は次のように格納または計算できます。 = nil 定数プロパティの宣言:
定数let(つまり、変更できないプロパティ)は、キーワードletとともに導入されます。前の宣言は、次のように定数を宣言するように変更できます。<! - 1 - >
-
let _fetchedResultsController:NSFetchedResultsController? = nil ストアド・プロパティの宣言: 次のリストに示す_fetchedResultsControllerの宣言は、 ストアド・プロパティ
の一般的な宣言です。ストアドプロパティは、クラス、列挙型、または構造体のインスタンスの一部として格納されるプロパティです。
// MARK: - フェッチされた結果のコントローラvar fetchedResultsController:NSFetchedResultsController {if _fetchedResultsController! = nil {return _fetchedResultsController!} let fetchRequest = NSFetchRequest()//必要に応じてエンティティ名を編集します。 let entity = NSEntityDescription。 entityForName( "イベント"、inManagedObjectContext:self。managedObjectContext!)fetchRequest。 entity = entity //バッチサイズを適切な数値に設定します。 fetchRequest。 fetchBatchSize = 20 //必要に応じてソートキーを編集します。 sortDescriptor = NSSortDescriptor(key: "timeStamp"、昇順:false)を使用すると、sortDescriptors = [sortDescriptor] fetchRequestとなります。 sortDescriptors = [sortDescriptor] //必要に応じて、セクション名のキーパスとキャッシュ名を編集します。 //セクション名キーパスのnilは「セクションなし」を意味します。 aFetchedResultsController = NSFetchedResultsController(fetchRequest:fetchRequest、managedObjectContext:self。managedObjectContext!、sectionNameKeyPath:nil、cacheName: "Master")aFetchedResultsControllerを呼び出します。代理人=自己_fetchedResultsController = aFetchedResultsController varエラー:NSError? =ならばnil! _fetchedResultsController! 。 performFetch(&error){//エラーを適切に処理するコードでこの実装を置き換えます。 // abort()は、アプリケーションにクラッシュログを生成させて終了させます。この//関数は、出荷時のアプリケーションでは使用しないでください。//開発中に役立つかもしれません。 println( "未解決のエラー(エラー)、(エラー.userInfo)")abort()} _fetchedResultsControllerを返します!} var _fetchedResultsController:NSFetchedResultsController?= nilByデフォルトでは、セッターに渡される変数の名前はnewValue、
、Swiftは適切なタイプを使用します。
この例では、バッキング変数にObjective-Cパターンを使用しています。スウィートストアドプロパティは、アンダースコアなどの特殊文字で始める必要はありません。ただし、使用する前に初期化し、型を指定する必要があります(おそらく初期化から推測される)。<! - 2 - >
-
var _fetchedResultsController:NSFetchedResultsController? = nil getterとsetterを使って計算されたプロパティを宣言する:
この点は、少し解明する価値がある。このリストにはSwiftプロパティの基本的なゲッターとセッターが表示されています。 myVarにmyIntのバッキング変数があることがわかります。 getとsetキーワードはgetterとsetterを識別します。
var myInt:Int = 0 var myVar:Int {get {return myInt} set {myInt = newValue}} myVar = 20 これは 計算されたプロパティ
を作成する方法です。
<! - 3 - >
次の図に示すゲッタとセッタに加えて、次のリストに示すオブザーバを使用できます。このコードはDetailViewControllerにあります。 Locatappの迅速なファイル(Master-Detail Applicationテンプレートから)。
var detailItem:AnyObject? {didSet {//ビューを更新します。自己。 configureView()}}このメソッドでブレークポイントを設定し、iOSシミュレータでアプリを実行します。ボタンを押すと、メソッドが呼び出されます。
-
これは、ビューアップデータを呼び出すのに適しています(これは、テンプレートで行われたものとまったく同じです)。使用できるオブザーバーは2人あります。
-
didSet:これは事実の後に呼び出されます。