LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 5 years have passed since last update.

Swiftについて聞きたいこと (jiyugaoka:Swift? #0)

Last updated at Posted at 2015-12-04

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

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up