タグ

2016年1月4日のブックマーク (4件)

  • Carthage と Bitcode 対応についてのまとめ – ymyzk’s blog

    iOS 9 や watchOS 2 から新しく Bitcode が導入されました. パッケージ管理ツールの Carthage でも Bitcode を含んだ Framework を適切に出力する仕組みの導入が進んでおり, この対応状況を見ながら Bitcode 対応について考えます. Carthage とは Carthage は Cocoa アプリケーションのためのパッケージ管理ツールの1つです. Carthage は Cartfile をもとに GitHub などからソースコードをダウンロードし, Framework を出力します. ユーザーは出力された Framework を動的にリンクして利用します. このため iOS で利用する場合は Embedded Framework に対応した iOS 8 以上でしか利用できません. Carthage についての詳細は GitHub の RE

    Carthage と Bitcode 対応についてのまとめ – ymyzk’s blog
  • Swiftの @noescape をもっと使おう - Qiita

    (追記) Swift 3 では @noescape の挙動がデフォルトになったため記述する必要がなくなりました。 よく知らなかったのですが、調べてみたら積極的に使っていこうという気になりました。 使用例 関数の引数で渡すクロージャにattributeとして付けます。 (Appleのドキュメント) @noescape を付けたクロージャに保証されること クロージャはどこへも保持されない クロージャは非同期的に後から実行されることはない つまり、 クロージャの生存期間が関数よりも短い ことを保証することになります。 よって、クロージャを渡した先で クロージャをインスタンス変数などとして保持 クロージャを非同期的に後で実行 などする場合にはクロージャの生存期間が関数よりも延びてしまうので @noescape を付けることができません。 (StackOverflowの回答) いいこと クロージャ内

    Swiftの @noescape をもっと使おう - Qiita
  • Swiftで複数の非同期処理を扱うライブラリAsyncKitを書きました - Qiita

    以前書いた記事「Swiftで複数の非同期処理を並列実行させて、すべてが終わったらコールバックを受け取る関数」の反響が思っていたよりあったのでもう少し改良してみることにしました。 そうしたところ、不便だった点が解消され実用に足るものになったと思いますのでライブラリにして公開してみました。 以前の記事では parallel 関数だけだったのですが、それだけではさみしいので seriesと waterfall 関数も追加しています。 なにができるのか? Web API リクエストなどの非同期処理を複数同時に行い、すべてが終わったらそれぞれの非同期処理の結果を使って別の処理をさせたい、ということはよくあると思います。 しかしこれを実装するためには、すべての非同期処理が終わったことを判定する変数を用意したり、GCDを使用したりする必要があり、なかなかきれいにコードを書くことができません。 このライブ

    Swiftで複数の非同期処理を扱うライブラリAsyncKitを書きました - Qiita
  • アメリカのIT企業で働くために行った英語の勉強法など - 科学と非科学の迷宮

    こちらの記事を読んで、自分も書きたくなったので書いてみました。 といっても私は別に仕事で普通に日語も使うし、半年ちょっとしか働いてないのでえらそうなことは何も言えませんが。 あくまで自分のメモ用。 入社前のスペック 小さい頃USに4年間住んでた。語彙の充実には全く役に立ってないが、多分リスニングと発音に若干のプラス補正がかかってる TOEIC は2010年(入社半年前)に遊びで受けて850ぐらい。参考記事 文法 Grammar in Use Intermediate Student's Book with Answers and CD-ROM: Self-study Reference and Practice for Students of North American English (Book & CD Rom) 作者: Raymond Murphy,William R. Smal

    アメリカのIT企業で働くために行った英語の勉強法など - 科学と非科学の迷宮