Swiftで遊ぼう! - 467 - Navigation Controllers and Table Views 7
Swiftで遊ぼう!の古い記事-> Life-LOG OtherSide
Beginning iPhone Development with Swift: Exploring the iOS SDK
- 作者: David Mark,Jack Nutting,Kim Topley,Fredrik Olsson,Jeff LaMarche
- 出版社/メーカー: Apress
- 発売日: 2014/11/19
- メディア: Kindle版
- この商品を含むブログを見る
RootViewControllerのコーディング続きです。
import UIKit class RootViewController: UITableViewController { private var familyNames: [String]! private var cellPointSize: CGFloat! private var favoritesList: FavoritesList! private let familyCell = "FamilyName" private let favoritesCell = "Favorites"
ここまででプロパティを設定しています。次はイニシャライザ... いえ違います。イニシャライザ無しでインスタンス化するためにviewDidLoad()メソッドを使うんです。この理由は? 分かりますか? 私のブログをしっかり読んでいると理由を説明しています。分からない人は頑張って勉強してください。
さて、読者を煽るのはこれくらいにして、viewDIdLoad()メソッドを仕上げましょう。プロパティ宣言でメモリーだけ割り当てたのは? そうですね。familyNames、cellPointSizeそしてfavoritesListです。これを実体化するのがviewDidLoad()メソッドです。
override func viewDidLoad() { super.viewDidLoad() familyNames = UIFont.familyNames().sort() let preferredTableViewFont = UIFont.preferredFontForTextStyle(UIFontTextStyleHeadline) cellPointSize = preferredTableViewFont.pointSize favoritesList = FavoritesList.sharedFavoriteList }
これで全てのプロパティは実体化しています。UIFontクラスのメソッドを使っているのですが、今のところこういうものです。色々理解しないといけないんですが、今日は説明しません。重要なのはプロパティの実体化です。実体が無いとランタイムエラーに陥ります。
そしてシングルトンクラスの唯一のインスタンス(FavoritesList.sharedFavoriteList)をプロパティ化します。
今日はここまで。