UIAlertView問題
- iOS8からUIAlertViewがDeprecated
- UIAlertControllerはiOS8later
- みんなどうしてるの???
背景
- iOS7以降対応
- 既存コードはUIAlertView or BlocksKitを使って書かれている
対応策 1 きにせずUIAlertViewを使う
- いまのところ問題なく動くぽい
- Swiftだとクラッシュする?
Objective-C - iOS8でのダイアログ表示:廃止になるUIAlertViewと推奨されているUIAlertControllerのメリット - Qiita
対応策2 バージョン分岐
- iOS7ではUIAletView
- iOS8ではUIAlertController
対応策3 ラッパークラスを作る,使う
対応策4 そんなの関係ねえ!
- 独自のUIAlertControllerを作る
ObjCの__blocksってなに
- コンパイラに特別な取り扱いをするように伝えるためのもの
- 普通は、blocks内で使用する変数は、コピーされる
- blocks内で変数を変更しても変更が適応されない
-
__blocks
をつけるとblocks外でも、blocks内で変更した結果を使用できる
Swiftは__blocks付いてるのがデフォルトの挙動
なんで違うの?
ここで調べようと思ったけど、どこ調べたらいいかわからない..
https://github.com/apple/swift
これどうやるのシリーズ
いま保存されてるUserDefaultsのキー一覧を取得する
class func keysInUserDefaults(prefix: String) {
var array: [String] = []
let defaults = NSUserDefaults.standardUserDefaults()
let serviceActivationDict = defaults.dictionaryRepresentation().reduce { (keyAndValue) -> Bool in
array.append(keyAndValue.0)
}
}
リストに書かれているリポジトリの情報をすべてGitHubから取得して、Realmにぶち込む
- dispatch_groupで全部のリポジトリの情報を受け取れるのを待ってる
- これって正しい? もっといい方法ある?
- こんなふうに一気に大量にサーバにリクエスト投げたいことってたまにあるよね?
- そもそもAPIの設計が悪い?(もしGitHubのAPIを自由につくれるならどうしたらいい?)
メモ
property
- newValueの謎
- conputed propertyに直接アクセスしたらどうなる?
- lazyなstored propertyに直接アクセスしたらどうなる?
- Swiftに直接アクセスある?
open source swift
- これ面白いけど、何やってるんだろう https://github.com/apple/swift/pull/157