Swiftで遊ぼう! - 463 - Navigation Controllers and Table Views 5
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版
- この商品を含むブログを見る
お気に入りフォントを管理するクラスFavoritesListをコーディングしました。しかし、よくみるとイニシャライザに無理矢理guardを入れましたが、こういうケースは「??」を使った方がすっきりしました。
FavoritesListクラスの完成形は次の通りです。
import Foundation import UIKit class FavoritesList { static let sharedFavoriteList: FavoritesList = FavoritesList() private(set) var favorites: [String] private init() { let defaults = NSUserDefaults.standardUserDefaults() let storedFavorites = defaults.objectForKey("Favorites") as? [String] favorites = storedFavorites ?? [] } func addFavorite(fontName: String) { guard favorites.contains(fontName) else { favorites.append(fontName) saveFavorites() return } } func removeFavorite(fontName: String) { if let index = favorites.indexOf(fontName) { favorites.removeAtIndex(index) saveFavorites() } } private func saveFavorites() { let defaults = NSUserDefaults.standardUserDefaults() defaults.setObject(favorites, forKey: "favorites") defaults.synchronize() } }
イニシャライザがすっきりしました。簡単なコーディングでも本当に色々バリエーションがありますね。こういうことを考えながらプログラミングするって楽しいですね。
今日はこれだけ(^^;)