タグ

objective-cに関するtarchanのブックマーク (96)

  • SwiftからObjective-Cのライブラリ使う - まさたか日記

    SwiftでiOSアプリ書くのはすっきりとした文法で快適なのですが、凝ってはいるけど定番な動きを実現したいときには誰かが作ってくれた部品を使いたくなります。Githubにもそれはそれは多くのiOS向けのOSSがありますし、大抵はMITライセンスなので仕事でも使い易い。しかしこれらは現在ほとんど全てがSwiftではなくObjective-Cソースコードで提供されています。そのうちSwiftのものも増えてくるでしょうけど今はObjective-Cだけ。 SwiftからObjective-Cを使おうとしたとき、承前としてまず読むべきなのは以下のドキュメント。私はXCodeを開いたMBPの傍ら、iPad miniのiBookに落として読んでます。 一瞬ハマりました。いきなりこのドキュメントにあるダイアログ(「Would you like to configure an Objective-C br

    SwiftからObjective-Cのライブラリ使う - まさたか日記
  • iOS View Controllerプログラミングガイド

    View Controller Programming Guide for iOS.md iOS View Controllerプログラミングガイド View Controllerの使い方 Storyboard上でのView Controllerの使い方 storyboard上で、initial view controllerから他のview controllerに対してrelationshipを確立します。同様に、それらのview controllerから他のview controllerにrelationshipを確立します。最終的に、storyboard上のほとんど、あるいは全てのview controllerを一つのグラフに接続します。接続されたview controllerが、iOSによっていつインスタンス化されるかは、relationshipのタイプによって決まります。 rel

    iOS View Controllerプログラミングガイド
  • Swift を使ってみてがっかりした点まとめ

    数日間iOS8/Xcode6/Swiftな環境で色々試してみて、Swiftを使っていて思ったよりがっかりした点が多かったのでちょっとまとめてみようと思います。 動的な処理がSwiftだけでは一切できない [NSObject performSelector:]の類と、NSInvocationがSwiftからは一切呼び出せません。使おうとすると怒られます。objc/runtime.hは試していませんが、同様に直接Swift経由では呼び出せず間にObjective-Cをかます必要があるのではないかと思われます。 @optionalなprotocolが限定的にしか使用できない 具体的には@objc属性を付けないと使えません。しかしながらこのような後方互換性のためだけに存在する属性をいつまでもAppleがサポートするかは疑問が残るというのと、もう一つ以下の様な問題があります。 @objc属性のついた

  • Objective-C で書いたアプリを Swift で書き換える5ステップ - その後のその後

    iBookでSwiftの解説出ましたが、言語自体にはそれほど興味がないので、実践的なところとして、手始めに「Objective-Cで書いた既存アプリをSwiftで書き換える」ところからやってみました。 アプリ全体、となると壮大なテーマになってしまうので、まずは AppDelegate だけ書き換えてみます。 なお、NDA 下にある Xcode 6 については書けないので、ビルド設定等については割愛しています。 1. 拡張子を .swift にする 例えば AppDelegate.m なら、AppDeleagate.swift にします。 2. import の書き換え ヘッダの import も移してきて、 #import <UIKit/UIKit.h> だったのを import UIKit にします。 3. クラス宣言の書き換え これもヘッダから移してきて *1 、 @interfac

    Objective-C で書いたアプリを Swift で書き換える5ステップ - その後のその後
    tarchan
    tarchan 2014/06/04
    >「なるほど、このあたりのおかげで LLVM がグッと最適化できて高速化につながってるのか」と勉強になりました。
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
    tarchan
    tarchan 2014/05/22
    >「累計の出品数は500万を越えており、既に月間流通額が数億円規模」というFril
  • iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary

    日常的なコードレビューで気をつけていることリストです。GitHub会議(仮)で発表しようと思っていたのですが、日程の都合で参加できないので、書きためておいたメモを公開します。またどこかで発表するかもしれません。 AutoLayoutにできないか AutoLayout化した方がすっきりしそうならAutoLayout化する AutoLayout化できそうなものでやっていないものは、なぜコードで実装したか質問する 例えばUITableViewCell ちゃんと理由があれば別に良い。コードの方が良いことも多い UIAppearanceで解決できないか 各クラスの中にスタイルの指定が入るより、UIAppearanceでスタイル指定を分離して別クラスに書く方がデザイナーも弄りやすくて良い 3.5インチ端末が考慮されているか レイアウトが決め打ちだとここで問題が出ることが多い 着信ステータスバーが考慮さ

    iOSアプリケーション開発のコードレビューで気をつけていること - ninjinkun's diary
    tarchan
    tarchan 2014/04/25
    >これをネタにLTとかできそうですねとか指摘する
  • NSArrayやNSDictionaryからNSNullを効率よく取り除く - 24/7 twenty-four seven

    iOSアプリケーションでWeb APIから返ってきたJSONを処理するのにNSNullの扱いに困っていて、事前にNSNullを取り除いてしまうのが事故を防ぐための確実な方法なのですが、再帰的にすべての要素を検査する以外になにかいい方法がないかと思って考えていたらちょっとおもしろい方法を思いついたので書いてみました。 kishikawakatsumi/CollectionUtils · GitHub ↑ に含まれるCUCompactArrayとCUCompactDictionaryです。 NSArrayとNSDictionaryのサブクラスとして実装されていて、次のようにして生成します。 (普通にalloc/initを使って生成することも可能です) NSArray *array = @[@"0", @"1", [NSNull null], @"2", [NSNull null], @"3"]

    NSArrayやNSDictionaryからNSNullを効率よく取り除く - 24/7 twenty-four seven
  • Objective-Cが好きになるTips & Hackを勝手に補足 - yashiganiの英傑になるまで死ねない日記

    TLで見かけたこのスライド,いいところをついていてちょっとObjective-Cをやったことのある人が,もっと興味を持つきっかけを作るにはすごく良いスライドだと思った. Objective-C が好きになる Tips & Hack from Taketo Sano けど,内容を見た感じ初学者を対象としているわりに,ここで取り上げられているTipsやHackの負の側面に対するフォローが無い. 一応「やるかやらないかはあなた次第」とあるが,なぜというところが抜けているので初学者には判断できないと思う. 特に紹介されている例はあまり行儀の良い方針では無いように感じたので,これを初学者がそっくりそのまま真似をするのはあまりよろしくない. 反響も結構あるようで気になったので,勝手にこのTipsやHackの負の側面(行儀の良くない面)について補足をしておく. カテゴリメソッドの命名について このスライ

    Objective-Cが好きになるTips & Hackを勝手に補足 - yashiganiの英傑になるまで死ねない日記
  • Conference with DevelopersでJavaScriptCore.frameworkとObjective-C Runtime APIについて話しました - 24/7 twenty-four seven

    年に1度のiOSデベロッパーのイベント「Conference with Developers」で話をしました。 JavaScriptCore.frameworkとObjective-C のRuntime APIという非常にマニアックな内容でしたが、まあまあわかるように伝えられたかなと思います。 話の内容は主に以下の3点です。 JavaScriptCore.frameworkの概要と使い方 Objective-C Runtime APIの活用方法 JavaScriptBridgeの紹介 伝えきれなかったことを補足しますと、JavaScriptBridgeはフルスクラッチで最初から最後まですべてJavaScriptでiOSアプリを書く、という用途のために作られたのではありません。 例としてそういうものを示しているのは、単に例は極端なほうがわかりやすいというだけの理由です。 どちらかというと、週

    Conference with DevelopersでJavaScriptCore.frameworkとObjective-C Runtime APIについて話しました - 24/7 twenty-four seven
  • UITableViewCellの再利用と非同期処理の話。

    sakamoto.kazuki @splhack とりあえず「エキスパートObjective-Cプログラミング」読んだらいいんじゃないかな http://t.co/XcnhS1dsu9 Grand Central Dispatch, Grand Central Dispatch 2013-12-11 10:31:01 リンク 達人出版会 エキスパートObjective-Cプログラミング ― iOS/OS Xのメモリ管理とマルチスレッド iOSとOS Xの新機能「ARC」「Blocks」「Grand Central Dispatch」の解説Appleのリファレンスの和訳や解説にとどまらず、その実装を元に深く理解するための一冊。

    UITableViewCellの再利用と非同期処理の話。
    tarchan
    tarchan 2013/12/12
    >難しいのでSDWebImageを使ってます。 https://github.com/rs/SDWebImage
  • RubyMotion を1年以上使い続けてみての雑感 - naoyaのはてなダイアリー

    RubyMotion Advent Calendar 2013 に何か書こう、ということでエントリ。 ご存知のように iPhone アプリの HBFav は RubyMotion で作っています。Objective-C ではなく。以前は Titanium Mobile で作っていましたが、去年にバージョン2として作り直すにあたって RubyMotion に移行しました。 RubyMotion に関しては以前、以下のエントリで概要を説明しています。 RubyMotion - naoyaのはてなダイアリー それから、今年 5月に開催した RubyMotion カンファレンスのスライドなどもあります。 実践RubyMotion - Speaker Deck RubyMotion が発表されたのは 2012 年の5月 とかで、それからずっと使い続けているので1年半近くが経ったことになります。App

    RubyMotion を1年以上使い続けてみての雑感 - naoyaのはてなダイアリー
    tarchan
    tarchan 2013/12/06
    >Ruby インタプリタやガベージコレクションその他、普通の MRI Ruby の実行に必要なコア部分なんかは RubyMotion には含まれていません。
  • Objective-C に Modules がやってきた!

    これは面白そう。 以下、引用: ソフトウェア開発における「プロトタイプ」とは、シミュレーションを目的とした試作品のことをいいます。書で解説するプロトタイピングは、主に紙などを使った「低精度プロトタイピング」を中心とした手法です。リスク回避や初期段階における可能性の模索をメ...

  • CoreTextを使って簡単に画像付きリッチテキストを表示できるSECoreTextViewに編集機能がつきました。 - 24/7 twenty-four seven

    kishikawakatsumi/SECoreTextView · GitHub iOS/Macの両方で使えて、文字の選択やリンクのクリックに対応したテキストビューをテスト公開しました。 - 24/7 twenty-four seven 前に書いたSECoreTextViewに編集機能を実装しました (iOSのみ)。 SECoreTextViewはCoreTextを使って簡単にクリッカブルなリンクや画像付きのリッチテキストを表示できるテキストビューの代替実装としてのライブラリです。 以前のものはそこそこ簡単に豊かな表現ができるのでこれはこれでけっこう実用的だったと思います。 ↓ このように画像を含めたテキストを表示したり、リンクはクリックに反応して任意の処理をすることができます。 画像に限らず、画面に表示できるものはボタンでもその他のビューでもブロックを渡して任意の描画をすることも可能です

    CoreTextを使って簡単に画像付きリッチテキストを表示できるSECoreTextViewに編集機能がつきました。 - 24/7 twenty-four seven
    tarchan
    tarchan 2013/10/04
    >UITextInput/UIKeyInput Protocol を実装して、標準のテキストビューと同じようにキーボードや日本語変換システムの入力を処理しています。
  • 複雑な正規表現を分かりやすくするライブラリ VerbalExpressions の Objective-Cバージョンを書きました - 24/7 twenty-four seven

    https://github.com/VerbalExpressions/ObjectiveCVerbalExpressions ↑ 家にマージされました。 https://github.com/kishikawakatsumi/ObjectiveCVerbalExpressions 概要 VerbalExpressions はメソッドチェーンとわかりやすい名前を使って、正規表現を読みやすくしようという試みです。 ↓ オリジナルはJavaScriptのライブラリのようです。 https://github.com/VerbalExpressions/JSVerbalExpressions iOS Dev Weeklyの106号でObjective-Cの移植はまだ無いみたいに書いてあったので、やってみました。 (実際は2つほど先に書かれたものがありました) ↓ 私が書いた Objective

    複雑な正規表現を分かりやすくするライブラリ VerbalExpressions の Objective-Cバージョンを書きました - 24/7 twenty-four seven
    tarchan
    tarchan 2013/08/22
    >VerbalExpressions はメソッドチェーンとわかりやすい名前を使って、正規表現を読みやすくしようという試みです。
  • 意識高いiOSアプリのつくり方 - 方向

    編 1. Objective-Cで書く Obj-C使いたくないが諦める 結局Obj-C使うのが一番楽であることに気づくのだ 2. Xcodeを使う VimとかEmacsとかAppCodeで書きたいが諦める 結局Xcode使うのが一番楽であることに気づくのだ 設計編 3. 仕様とUIをしっかり設計してから実装する きちんと設計しないとあとから大量の手戻りが発生して泣きたくなる。 技術的に可能なことをやろうとしているのか 基的な画面設計 メインのビュー部分 ナビゲーション方法(TabBarなのかNavigationBarなのかNavigationDrawerなのか) くらいは最低限調査・設計しておく 4. フレームワーク的ライブラリを使わない UIKitは既に十分にフレームワークになっており、新たな思想を持ち込む必要はない Reactive Cocoaを使うのはUIKitのMVCをよくよ

    意識高いiOSアプリのつくり方 - 方向
  • OS X開発入門の良書ヒレガス本の邦訳で有名なピアソン桐原が技術書撤退で在庫限り

    ひとりぶろぐのmoyashi (@hitoriblog) です。 技術書を出しているピアソン桐原(桐原書店とピアソンエデュケーションの合併会社)が技術書から撤退とのことです。 @sobahhi ご心配をおかけして大変申し訳ございません。今後は、学習参考書と語学書に専心していくことになりますので,技術書は基的にお取扱いがなくなってしまいます。書店さんの在庫限りとなりますので、お早目にご入手くださいますようお願いいたします。 — 桐原書店 (@KiriharaShoten) August 7, 2013 技術書は、流通在庫のみの扱いとのこと。 ピアソン桐原といえば、(Mac)OS X開発入門書の定番で有名な、いわゆるヒレガス、「MAC OS X COCOAプログラミング」を擁しています。 Amazonには既に「MAC OS X COCOAプログラミング」の在庫がなく、中古のみ。高値が付いて

    OS X開発入門の良書ヒレガス本の邦訳で有名なピアソン桐原が技術書撤退で在庫限り
  • RubyMotion のテスト、継続的インテグレーション - naoyaのはてなダイアリー

    昨日は RubyMotion のもくもく会でした。 先日の RubyMotion Kaigi 2013 で 実践RubyMotion という題目で発表したのだけど、テストについてはprintデバッグ上等だ、このクソムシがとか言ってかなり適当に済ませてしまった。ので、もくもく会ではテスト周りに手をつけるぞと思い、そういえば Travis CI が RubyMotion に対応してたのも思い出し RubyMotion のテストを Travis CI で回すのを検証した。 が、手間取るかと思った Travis CI 周りはとっても簡単で、.travis.yml に language: objective-c と書くだけであっさり動いてしまった。 というわけで RubyMotion アプリの継続的インテグレーションは .travis.yml を一行書けば完了です。終わり・・・じゃあまったくブログ記

  • iPhoneのカメラをもっと活用するためのライブラリ·NBUKit MOONGIFT

    NBUKitはiOS用、Apache License 2.0のオープンソース・ソフトウェアです。 iPhoneで人気のあるアプリジャンルとしてカメラがあります。ただ撮影するだけでなく、イフェクトをかけたりできるタイプのものが人気です。そこで今回は自分で設定もできるカメライフェクトアプリのNBUKitを紹介します。 起動中。ちょっと時間を要します。 起動しました。あくまでもNBUKitのデモなのでご注意を。 カメラを使って撮影を行います。 シャープやコントラストの調整ができます。Instagramライクです。 こういった形で下にフィルタを配置して選択もできます。 そして確認画面が出ます。 その他ではフィルターエディタがあります。 魚眼などの設定を行って保存しておく事ができます。 NBUKitでは主な機能として、画像の選択、アセット管理、ギャラリー、画像編集、画像選択があります。画像の編集はフ

    iPhoneのカメラをもっと活用するためのライブラリ·NBUKit MOONGIFT
  • iOSアプリのUIを爆速で激ヤバにする2つのライブラリ

    iOSアプリのUIを爆速で激ヤバにする2つのライブラリ:生産性ガチアゲなオープンソースiOSライブラリ(2)(1/4 ページ) ゼロからiOS SDK開発を始める新規開発者でも超高速・高品質な開発を可能にするオープンソースのライブラリを目的別に紹介していく連載です。実際にライブラリを組み込みながら技術的な側面も併せて詳細に説明していきます。今回は、Clearのような折り畳みやFlipboardのようなめくりエフェクト、Twitterのようなプルリフレッシュを実現する方法を紹介します。 「あのアプリのあの機能」を実現するEGOTableViewPullRefreshとMPFoldTransitionを使ってみた 「良いアプリの条件」というと何が思い浮かぶでしょうか。例えば、誰も実現してない機能を実装していたり、パフォーマンスが良かったり、動作が安定していたり…… とさまざまな意見があると思

    iOSアプリのUIを爆速で激ヤバにする2つのライブラリ
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA