タグ

objective-cに関するxoyipのブックマーク (10)

  • Cocoaの日々: [Mac][iOS] NSCompoundPredicate で条件をまとめる

    iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど 設定された値を元に NSPredicate を作成し、Core Data に対して検索をかけるのだが、こういう場合に NSCompoundPredicate が役に立つ。 NSCompoundPredicate Class Reference 各々の条件は必ずしも指定されるわけではないので検索条件の項目は可変となる。普通の NSPredicate を使う場合、条件の有無によって文字列の連結を使って条件を構成する必要がある。こんな感じ。 NSMutableString* fmt = [NSMutableString string]; NSMutableArray* array = [NSMutableArray array]; if (name) { [fmt appendString:

    Cocoaの日々: [Mac][iOS] NSCompoundPredicate で条件をまとめる
    xoyip
    xoyip 2014/10/07
    NSCompoundPredicate
  • libcurlをiPhoneアプリからつかう方法 (ついでにopensslも) - KAYAC engineers' blog

    iPhoneアプリから自己証明書の https サーバーに接続しようと思った場合、どうするのがいいでしょう。 普通に Objective-C の NSURLConnection を使用すると証明書の検証エラーになってしまいます。少し検索すると非公開APIを使用して回避する方法もあるようです。(NSURLConnection +setAllowsAnyHTTPSCertificate:forHost) Cocoa アプリだとこの方法で良いかもしれません。しかし iPhone では審査ではじかれること請け合いです。と言うかはじかれました。 そこで libcurl をつかって C の世界で HTTP 接続をしてしまえばリジェクトしようがないだろうということでやってみたときの記録です。 前提 以後の作業はすべて iPhone SDK をインストールした OSX 上で行っています。 openssl

    libcurlをiPhoneアプリからつかう方法 (ついでにopensslも) - KAYAC engineers' blog
    xoyip
    xoyip 2014/10/01
    NSURLSessionでうまくいかないからcurlしてみる
  • MagicalRecordでCoreDataをお手軽に使う - memorandum

    iOSアプリでデータを保存(serialize/deserialize)する方法としてCoreDataがありますが、コード量が多く慣れるまでにも時間がかかります。 ここではより簡単なMagicalRecordによって、CoreDataを使ってみます。 MagicalRecordはActive Recordパターンを採用したCoreDataのラッパーです。ActiveRecordは、Martin FowlerらのPatterns of Enterprise Application Architectureで名付けられ、Ruby on Railsで普及しました。 MagicalRecordがあれば、Webアプリ開発者でもCoreDataを簡単に扱えるようになり、iOSアプリ開発がより身近に感じられるようになると思います。 前提 CocoaPodsはインストール済みとします。CocoaPodsの

    MagicalRecordでCoreDataをお手軽に使う - memorandum
    xoyip
    xoyip 2014/09/03
    MagicalRecordとやらを試してみるところ
  • Objective-C のプロパティ属性のガイドライン - Qiita

    Objective-C のプロパティの属性を指定するとき従うべきガイドラインをまとめた。 できる限り nonatomic を指定する atomic にしてもパフォーマンスが悪化するだけでほとんどメリットがない(参考:StackOverflow - Atomic vs nonatomic properties)。 nonatomic と atomic の使い分けの指針は次のとおり: 参照型: メモリアドレスのみの書き込みなので、常にnonatomicでよい プリミティブ型: int, BOOL等ワンステップでの書き込みが可能: 常にnonatomicでよい 単一のスレッドからしかアクセスされない: 設計に気をつけつつnonatomic推奨 複数のスレッドからのアクセスがあり、long,構造体などサイズの大きい値: atomic推奨 (thx to @takasek) 複数のスレッドから同時に

    Objective-C のプロパティ属性のガイドライン - Qiita
  • CocoaにおけるMVCについてちょっと勉強してみた – morizotter blog

    Objective-Cを書きながらMVCについて悩むことが多かったので、この機会に勉強してみることにしました。参考にしたのは、Appleのドキュメント(Objective-Cプログラミングの概念)です。MacアプリとiOSアプリを包含する資料ですが、iOSに焦点をあてて自分なりに簡単にまとめてみようと思います。 モデル => モデルオブジェクトはデータや基的な振る舞いをカプセル化する アプリケーションの永続的な状態を構成するデータは、ファイルに保存するか、データベースに格納するかにかかわらず、アプリケーションに読み込んだ後はモデルオブジェクトの管理下に置かなければならない。 モデルオブジェクトには、自身を目に見える形に表現し編集できるようにするユーザインターフェイスとの間に、明示的な接続はない。書式文字列、日付の表現方法等に関する情報は別の場所で管理すべき。 現実的にはある程度柔軟に対応

  • ARC 有効/無効に両対応させたい場合に便利なマクロ - Over&Out その後

    汎用ライブラリ等、ARCプロジェクトでも非ARCプロジェクトでも使用する可能性のあるクラスを実装する場合、 #if !__has_feature(objc_arc) - (void)dealloc { [super dealloc]; } #endif といった感じで "__has_feature(objc_arc)" を用いて判定を行いそれぞれの処理を書くわけですが、正直これは面倒です。 これを打開する便利なマクロを、こちらで発見しました。 下記マクロを定義しておけば、 #ifndef AH_RETAIN #if __has_feature(objc_arc) #define AH_RETAIN(x) x #define AH_RELEASE(x) #define AH_AUTORELEASE(x) x #define AH_SUPER_DEALLOC #else #define __A

    ARC 有効/無効に両対応させたい場合に便利なマクロ - Over&Out その後
  • SwiftからObjective-Cを呼ぶ方法。CocoaPodsも。 - ぴよログ

    SwiftとObjective-Cは相互に呼び合えるらしい。Objective-CからSwiftはすでに記事があった。 SwiftのコードをObjective-Cから呼んでみた - Qiita もしSwiftからObjective-Cのコードを呼べるのであれば、大抵のCocoaPodsライブラリは使い回せることになるので開発者としては大変嬉しい。せっかくなので検証にもCocoaPodsで入れたライブラリを使ってみることにした。 Swiftプロジェクトを作る 普通に新規作成→Swiftを選んでプロジェクトを作る。なんでもいいのでSingle View Applicationあたりにしておく。 CocoaPodsでライブラリを入れる。 今回はSVProgressHUDを使うことにした。独立しているので簡単に呼び出したりしやすい。 samvermette/SVProgressHUD インストー

    SwiftからObjective-Cを呼ぶ方法。CocoaPodsも。 - ぴよログ
  • 入れ子になったNSDictionaryのデータを取り出す - ぴよログ

    何重にも入れ子になったNSDictionaryのデータをチマチマ取り出すのは超絶めんどくさいです。valueForKeyで取り出したNSDictionaryにさらにvalueForKeyして、さらに、、なんてやるともうやってられません。 幸いvalueForKeyPathというメソッドで少し簡単にできるので、そちらを使ったほうがいいと思われます。 例によってYoutubeAPIの戻り値をNSDictionaryにしたものを対象とします。*1 データはこれ。 { "kind": "youtube#searchListResponse", "etag": "\"qQvmwbutd8GSt4eS4lhnzoWBZs0/TvUA3aT9bg7gzx72UgdpWtsjAD0\"", "nextPageToken": "CAUQAA", "pageInfo": { "totalResults": 1

    入れ子になったNSDictionaryのデータを取り出す - ぴよログ
  • SDWebImageを1年半使ってみた

    SDWebImageのTipsです

    SDWebImageを1年半使ってみた
    xoyip
    xoyip 2014/04/10
    個人的には非常にタイムリーな話題
  • Xcodeのファイルテンプレートを自作する - Qiita

    Xcodeでクラスファイルを新規作成した後、毎回同じようなコードを書いていて面倒だなと感じることがあります。たとえば、 UIViewControllerを継承したクラスにカスタムセルのUITableViewを持たせる NSObjectを継承したクラスをシングルトンにする といった実装はアプリ開発ではよくありますが、手順は大体毎回同じです。 こういった実装をファイルテンプレート化しておけば、クラスファイルの新規作成時にそのコードが生成されるので、何度も同じコードを書く手間が省けとても便利です。 以下に、NSObjectを継承したシングルトンクラスのファイルテンプレートを例にとり、作成手順を説明していきます。 1. デフォルトテンプレートをコピーしてくる デフォルトテンプレート はXcode.appのパッケージの中身をたどって行った先にあります。 open /Applications/Xcod

    Xcodeのファイルテンプレートを自作する - Qiita
  • 1