タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

swiftに関するhk41のブックマーク (14)

  • Swiftで非同期処理/遅延処理をキャンセルする - Qiita

    GCD で dispatch した非同期処理をキャンセルしたいケースというのがよくありまして 1、Objective-C の場合はいつも使ってるスニペットがあったのですが、Swiftではどう書くのかなとググったら、こちら のコードが見つかりました。 で、命名に違和感があったり、遅延実行キューがメインキュー限定だったり、Swift的でない書き方だったりしたのを修正したものが以下になります。 typealias dispatch_cancelable_block_t = (cancel:Bool) -> (Void) private func dispatch_after_delay(delay: Double, queue: dispatch_queue_t, block: dispatch_block_t?) -> dispatch_cancelable_block_t? { guard

    Swiftで非同期処理/遅延処理をキャンセルする - Qiita
    hk41
    hk41 2016/05/23
  • 物理サーバを選定する際のポイント – Eureka Engineering – Medium

    Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.

    物理サーバを選定する際のポイント – Eureka Engineering – Medium
    hk41
    hk41 2016/03/25
  • ファイルの保存先と保存方法について [Swift]

    以前、端末内の写真を画面に表示する方法 [Swift]を紹介しましたが、今度はアプリ内にその写真を保存する方法を書きたいと思います。 大切な写真は日記として保存しておかないとですからね。 まずはファイルの保存先についてです。 主に4つのディレクトリから、データの種類や取り扱い方によって保存先を決定します。 それぞれの特性に合ってないと、データが消失したり、リジェクトされたりするので、慎重に判断する必要があります。 /Documents:バックアップされる ユーザデータを保存する場所。 ユーザに見せるファイルで、ユーザが作成や編集をしたファイルが該当する。 /Library(/Caches以外):バックアップするか選択できる ユーザデータ以外の補助ファイルを保存する場所。 アプリ固有のユーザに見せたくないファイルが該当する。 /Library/Caches:バックアップされない 再度ダウンロ

    hk41
    hk41 2016/03/15
  • [iOS] ファイル操作が劇的に簡単になる便利ライブラリ! - Qiita

    iOSでのファイル操作する際、NSFileManagerを使うのですが、それぞれのファイル操作はかなり癖があるAPIで中々扱いづらいです。特にSwiftから使うと違和感が大きいです ということで!簡単にファイルを扱えるようなNSFileManagerのラッパーライブラリを作ってみました! SwiftFilePath 導入 CocoaPodsでインストール CocoaPodsのverisonが0.36以上の環境でPodfileに以下を記載してpod updateすればOKです!

    [iOS] ファイル操作が劇的に簡単になる便利ライブラリ! - Qiita
    hk41
    hk41 2016/03/15
  • SwiftのプロジェクトにGoogle Analytics SDKを導入する - Qiita

    ... #import "GAI.h" #import "GAIFields.h" #import "GAILogger.h" #import "GAIDictionaryBuilder.h" ... func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { ... AppDelegate.setupGoogleAnalytics() ... } ... var tracker: GAITracker? class func setupGoogleAnalytics() { GAI.sharedInstance().trackUncaughtExceptions = true GAI.sharedIns

    SwiftのプロジェクトにGoogle Analytics SDKを導入する - Qiita
    hk41
    hk41 2016/03/15
  • StackViewを賢く使ってらくちんAutoLayout - Qiita

    『アプリ道場 Advent Calendar 2015』8日目は「Auto Layoutが好き過ぎて、StackViewをおかずにご飯3杯いける」ゆこびん(@yucovin)がお送りします。 そもそもイラストレーター/デザイナーなので、アプリの開発をしていても見た目を司るAuto Layoutが気になって気になってしょうがないです。(これは恋?!) ということで、日は今年綺羅星のごとく現れたAuto Layout界の期待のクラス「UIStackView」についてまとめたいと思います!(๑´ㅂ`๑) UIStackViewは一言で言うと、便利なレイアウト用の箱です。 StackViewは2つ以上の縦または横に並ぶサブビューを面倒な制約(Constraints)を作ることなく、いいカンジにレイアウトしてくれます。 StackViewを上手く使えば制約の数をうんと少なくすることができるんです。

    StackViewを賢く使ってらくちんAutoLayout - Qiita
    hk41
    hk41 2016/03/14
  • Swift演算子まとめ - Qiita

    ※…++演算子、--演算子はSwift3.0で削除された。 用語 単項演算子(Unary) 被演算子(Operand)が1つの演算子。 前置のもの(prefix)と後置のもの(postfix)がある。 二項演算子(Binary) 被演算子が2つの演算子。 被演算子の間に置かれる(infix)。 三項演算子(Ternary) 被演算子が3つの演算子。 ?:の一つだけ(infix)。 優先順位 数値が大きいものほど先に演算される。 単項演算子は二項演算子よりも優先順位が高い。 結合律 優先順位が同じ演算子が並んだ場合は、左結合のものは左から、右結合のものは右から演算される。 (同じ優先順位で、左結合のものと右結合のものは混在しない。) 無結合の演算子が並んだ場合はエラーとなる。 let result = 2 + 3 + 4 // 左から var str1: String? var str2:

    Swift演算子まとめ - Qiita
    hk41
    hk41 2016/03/05
  • 俺的爆速iOSアプリ開発 サードパーティライブラリ集 - Qiita

    通信系ライブラリ AFNetworking https://github.com/AFNetworking/AFNetworking ド定番中の定番のライブラリ!! レスポンスデータの処理やエラーハンドリングがブロック構文で書けるので通信周りを実装するときは必ずこれを使っています。 Alamofire これも定番中の定番の通信のライブラリ! Swiftで記述されているのでBriging-Headerを準備する必要なし! 個人的にはまだAFNetworkingのほうが使いやすいですがこれから使っていくつもりです GoldRaccon FTP通信を実装する際はこれを使っています。 クライアントからサーバーへのアップロードまたサーバーからのダウンロード処理を簡単に記述することができます。 SDWebImage UIImageViewに表示する画像(UIImage)をサーバーから取得&表示するライ

    俺的爆速iOSアプリ開発 サードパーティライブラリ集 - Qiita
    hk41
    hk41 2016/02/29
  • iOS 開発で使いたいライブラリまとめ(2016/02) - Qiita

    iOS関連のライブラリまとめ記事をたまにみかけますが最近はどうなんだろうと思ったのでiOS Cookiesからよさそうなのをまとめてみました。 Database Realm もう定番の Realm。データ永続化するならとりあえずこれ、という感じでしょうか。 導入記事はこちら[Realm Swift]。 SQLite.swift SQLite を使いたい時はこちら。 https://github.com/stephencelis/SQLite.swift WalkThrough, CoachMark Presentation 初回起動時に表示するウォークスルー。ユーザーにアプリの説明をするのに使用します。初回しか表示しませんが重要な部分ですね。 RazzleDazzle こちらも同じくウォークスルーライブラリ。アニメーションを細かく指定できるのが特徴。IFTTT製。 Instructions

    iOS 開発で使いたいライブラリまとめ(2016/02) - Qiita
    hk41
    hk41 2016/02/28
  • Dependency Injection in MVVM Architecture with ReactiveCocoa Part 5: 非同期での画像の読み込み - Qiita

    Dependency Injection in MVVM Architecture with ReactiveCocoa Part 5: 非同期での画像の読み込みReactiveCocoaMVVMDependencyInjectionSwiftSwinject 以下のブログ記事の翻訳です。 Dependency Injection in MVVM Architecture with ReactiveCocoa Part 5: Asynchronous Image Load 前回の記事までで、MVVMアーキテクチャに基いて、Pixabayのサーバから返された画像のメタデータを表示するところまで例題アプリを実装しました。今回のブログ記事では、非同期で画像を読み込む機能を追加します。非同期のイベントハンドリングのため、これまでと同様にReactiveCocoaを使用します。この開発を通して、ユニ

    Dependency Injection in MVVM Architecture with ReactiveCocoa Part 5: 非同期での画像の読み込み - Qiita
    hk41
    hk41 2016/02/23
  • Swift Bond 入門(Bond v4, Swift v2) サンプルあり - Qiita

    はじめに エバーセンスの西山と申します。仕事では「妊婦さん向けアプリninaru(ニナル)」のアプリ開発を担当しております。 先日@susieyyさんが投稿された「MVVMをベースに複雑な振る舞いをしっかり把握できるアプリ開発」を読み非常に感銘を受けました。 これまでも開発していく中で自分なりのMVVM風(あくまでも'フウ'です)な実装になっていったわけですが、上手く整理しきれない状態だったので、iOSアプリのアーキテクチャとしてとても参考になると感じました。 ただ、Bondを中心にその実装がなされており、Bondを知らない私には記法や構造をパッとみて理解することが出来ず・・・。そこでまずはBondについて理解を深めようとした次第です。 そしてさらにBondSwift2.0にあわせてv4になり、あまりまだ多くの情報がなかったので、これからBondを始める方の助けになれば幸いです。 ※上記

    Swift Bond 入門(Bond v4, Swift v2) サンプルあり - Qiita
    hk41
    hk41 2016/02/23
  • MVVMをベースに複雑な振る舞いをしっかり把握できるアプリ開発 - Qiita

    TL;DR 複雑になりがちな構造やコードをシンプルで把握しやすいコードで記述したい MVVMを用いて責務を明確にし関心事を分離した構造にする ViewDataBindingとFRPを用いて時間とともに変化するデータやステートに伴う処理を宣言的に記述し、Viewとデータの動的な変化を相互的に連動させる 上記をSwiftとそのパラダイムを活かしたライブラリ(SwiftBond)を中心に実現する はじめに Swiftで新規のアプリを開発することになり、MVVM、FRP、ViewDataBindingの要素技術を活用して開発を行いました。設計やライブラリ選定は2015年5月に行っており実装環境はXcode6.4,Swift1.2になります。Swift2.0以上になるとSwift系ライブラリも大きくインタフェースを変更しているため、ここで紹介しているサンプルコードもそのままでは動作しないことをご留意

    MVVMをベースに複雑な振る舞いをしっかり把握できるアプリ開発 - Qiita
    hk41
    hk41 2016/02/23
  • http://blog.f60k.com/objective-c%E3%81%A8swift%E3%81%AE%E7%B5%84%E3%81%BF%E5%90%88%E3%82%8F%E3%81%9B%E6%96%B9%E3%81%AE%E3%81%BE%E3%81%A8%E3%82%81/

    http://blog.f60k.com/objective-c%E3%81%A8swift%E3%81%AE%E7%B5%84%E3%81%BF%E5%90%88%E3%82%8F%E3%81%9B%E6%96%B9%E3%81%AE%E3%81%BE%E3%81%A8%E3%82%81/
  • 1