2016年3月14日のブックマーク (16件)

  • JSONExportを使ってjsonからswiftのクラスを自動生成 - Qiita

    モデルをたくさん作るのが面倒、そんなときに、jsonからmodelが生成できたら便利じゃないですか? JSONExportを使うとjsonから自動でmodelが生成できます。 swiftだけでなく、objective Cやandroid用のモデルもできます。 実際どういうことができるか 例えばこのようなjsonがあれば、以下のmodelを自動で生成できます。 Rootクラス名がをProject、Class PrefixをWTDとする。 { "projectID": 12, "title": "ガチエンジニアウォンテッド", "location": "東京", "company": { "companyID": 100, "name": "Wantedly" } } import Foundation class WTDProject{ var company : WTDCompany! v

    JSONExportを使ってjsonからswiftのクラスを自動生成 - Qiita
  • 【Objective-C】 UITableViewまわりのきほん

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString* CellIdentifier = @"Cell"; UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; /* //storyboardでひもづけしてないときに自己生成でリユースにひもづける UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if(!cell){ cell

    【Objective-C】 UITableViewまわりのきほん
  • [Objective-C] KeyValueObserve(キー値監視)メモ - Qiita

    Cocoaフレームワークには、KVOと呼ばれるオブザーバの機能を標準で擁しています。 基的な考え方は、KVO用に作られたメソッドを経由してプロパティを操作することで、適切にその変化をオブザーバに通知する、という仕組みです。 KVOに準拠するためにはプロパティのアクセサメソッドを適切に設定しないとなりませんが、通常のプロパティを使っている場合は特に問題なく準拠できていることになります。 KVOの登録 とあるプロパティの値の変化を監視する場合。 // HogeClassのインスタンスを生成。`fuga`というプロパティを持っている想定 HogeClass *hoge = [[HogeClass alloc] init]; [hoge addObserver:self forKeyPath:@"fuga" options:NSKeyValueObservingOptionNew context

    [Objective-C] KeyValueObserve(キー値監視)メモ - Qiita
  • Xcodeでデバッグ実行中にクラッシュした時に捗るブレークポイント設定 - Qiita

    ずばりこの設定です。 ExceptionはAllでも良いですが、実際の動作に問題無い内部例外に反応しちゃったりするのでObjective-Cにしてます。 po $arg1について気になると思いますが、そこだけ見たい方はこちら 通常、クラッシュするとここでブレークしちゃうため、 左下の+ボタンから、これを追加しておくとクラッシュ時に原因箇所で止まって捗るテクはそこそこ有名だと思います。 このようにブレークする場所が分かりやすくなる: po $arg1について さらに、こちらは有名じゃないと思いますが、Debugger Commandアクションに以下を入力しておくと、 このようにブレークすると同時に自動的に原因のログを出力してくれます。 無設定だと、1回目にブレークした時点ではクラッシュについてのログは何も出ていなくて、1・2回デバッグcontinueボタンを押すと、ログが吐き出されます。 即

    Xcodeでデバッグ実行中にクラッシュした時に捗るブレークポイント設定 - Qiita
  • iOS 9の新しいWebビュー: SFSafariViewController - Qiita

    【追記】SFSafariViewControllerが出た当初は記事のようにほぼカスタマイズ性が無かったですが、元々のコンセプトはブレない範囲で少しずつカスタマイズ性が提供されています。 こちらなどご覧ください: What's New in Safari View Controller - WWDC 2017 - Videos - Apple Developer 以下、iOS 9 SDK時点での SFSafariViewController についてです。 UIWebView・iOS 8で追加されたWKWebViewに加えて、iOS 9ではSFSafariViewController というものが追加されました。 手軽なAPIなので、今作っているPlayer!にもちょちょいと組み込めそうです( ´・‿・`) ※ 記事は Apple による公開ドキュメントを元に構成しています SFSaf

    iOS 9の新しいWebビュー: SFSafariViewController - Qiita
  • SwiftでUITableViewCellの高さを動的に変更する - Qiita

    iOS8では以前と比べて簡単にUITableViewCellの高さを動的に変更することが可能となった。 Xcode6.0からStoryboardのレイアウト方法が大幅に改善され、Autolayoutをバンバン使っていく流れになると思うので、ここでもAutolayoutを使用して作業を進めていく。 以前のようにHeightを計算する作業がなくなりStoryboard上で全ての作業を終えることが出来るのは当にありがたい。 Storyboardでの設定 Cell上に好きなように要素を配置して、高さが可変なUILabelのLinesを0にする。 これでUILabelが複数行対応となる。 次に、可変となるUILabelにConstraintsを設定する。 具体的には周りの要素との距離を設定するだけ。 Storyboardでの設定は以上。 ViewControllerでの記述 self.tableV

    SwiftでUITableViewCellの高さを動的に変更する - Qiita
  • UITableViewCellの高さを自動で計算する: UITableViewAutomaticDimension - tomoyaonishiのブログ

    UITableViewCellのUITableViewAutomaticDimensionを使えば、セルのそれぞれの高さを自動で計算させることができます。 optional func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat こいつとはおさらばです。 以下実装方法です。 まず通常のUITableViewの実装の方法でStoryboardを作っていきます。 カスタムセルに対してUILabelを1つ置きます。ここで以下の画像のようにセル全体にLabelが広がるようにAutoLayoutを設定します。なお、カスタムセルではなくBasicStyleのセルであればここでは何もしなくてもよいです。 次にカスタムセル、BasicStyleのセルであったとしても以

    UITableViewCellの高さを自動で計算する: UITableViewAutomaticDimension - tomoyaonishiのブログ
  • Objective-Cの基本 - Qiita

    用語整理 ビルド コンパイルとリンクを経て実行可能ファイルを生成。 コンパイル ソースコードを中間オブジェクトに変換。 リンク 諸々のライブラリやファイルを結合させて一つにまとめる。 コンパイラディレクティブ Objective-Cにおいて、@で始まるものはプログラムでは無くコンパイラへの指示。 これをコンパイラディレクティブと言う。 変数の利用 変数を利用するには 最初に宣言文を記述しておく必要がある。

    Objective-Cの基本 - Qiita
  • Xcode 6の新機能

    もしiOS8のカスタムキーボードがガジェットのSDKを搭載したら Ver.#ios8yahooniwatako

    Xcode 6の新機能
  • Storyboardで複数の要素を一つのViewにまとめるのは"Embed In View"で一発でできる - Qiita

    あるあるだと思うのですが、あとから複数の要素を一つにまとめたい時って、下の様に移動後に中央に移動してしまい、残念な思いをしたことはたくさんあると思います。 ですが、次の様にメニュー>Editor>Embed In>Viewとすると、選択した要素を囲むような最低限の(2015/09/09 14:29 全然最低限じゃない場合が多いので訂正)大きさのViewに収めることができます。 元の位置もずれない!!便利!!もっと早く教えて欲しかった!! Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do

    Storyboardで複数の要素を一つのViewにまとめるのは"Embed In View"で一発でできる - Qiita
  • Objective-Cのクラス定義を理解しよう

    Objective-Cのクラス定義を理解しよう:Cocoaの素、Objective-Cを知ろう(3)(1/3 ページ) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基を理解しよう(編集部) 前回の「一番初めのObjective-Cプログラム」では、シンプルなサンプルプログラムに沿って、クラス定義の最低限のルールを解説しました。 今回からは、プログラムの構成要素の1つ1つをより深く掘り下げていきたいと思います。その手始めとして、まずはオブジェクト指向の中核であるクラスの定義方法について解説します。前回までの解説と多少重複する部分もありますが、クラスに含まれる構成要素について、より詳しく見ていくことにしましょう。 なお、今回のサンプルは、説明やファイル作成を簡単にするために、クラスの宣言、クラスの実装、および

    Objective-Cのクラス定義を理解しよう
  • こたつつきみかん » なぜ Objective-C はメッセージ式なのか

    Objective-C が奇妙に見える大きな要因のひとつは、明らかにメッセージ式の存在だと思います。なぜ Objective-C はメッセージ式という奇妙な式を用いてメソッドを呼び出すようになったのでしょうか? Objective-C の作者にどういった意図があったのかは知りませんが、私なりに Objective-C がメッセージ式でなければいけない理由を見つけていますので、そのお話をしようと思います。 まず、他の多くの言語で採用されている、 . によるメンバアクセスによるメソッド呼び出しを考えてみましょう。 anObject.method( ); みなさんはこれをどう解釈するでしょうか? インスタンス anObject の method メソッドを実行する。そう解釈するのが普通だと思われます。なぜなら、 . は、多くの場合メンバへのアクセスを意味するもので、 anObject のメンバで

  • SDWebImageをiOS9で使う(Xcode7) - Qiita

    SDWebImageとは https://github.com/rs/SDWebImage SDWebImageというライブラリがあり、cocoapodsから導入できます iOS開発で使えて、 imageView.sd_setImageWithURL(NSURL(string: "https://pbs.twimg.com/profile_images/648801531702083584/nqCFf1AY.png")) みたいに書くだけで、画像を非同期ダウンロード&キャッシュを行ってくれます!キャッシュ期間なども設定可能で、とても便利に利用できます。 ただ、Xcode7にしてから動かなく(画像が表示されなく)なって・・・原因はなんだろう、と思っていたら、Xcodeではなく、iOS9のATSが原因でした・・・(詳しくは後述します) install cocoapodsがインストールされていな

    SDWebImageをiOS9で使う(Xcode7) - Qiita
  • iOSデバッグ時に有用なメソッド - Qiita

    (lldb) po [self _ivarDescription] <DetailViewController: 0x7fc94b637db0>: in DetailViewController: in UIViewController: _view (UIView*): <UIView: 0x7fc94b63c360> _tabBarItem (UITabBarItem*): nil _navigationItem (UINavigationItem*): <UINavigationItem: 0x7fc94b63ae20> _toolbarItems (NSArray*): nil _title (NSString*): nil _nibName (NSString*): @"jAO-Jw-mTY-view-IBP-J8-Ec0"<__NSCFString: 0x7fc94b6380e

    iOSデバッグ時に有用なメソッド - Qiita
  • Autolayout で UITableViewCell の高さを設定すると reloadData 後にカクカクすることがある - Qiita

    Autolayout で UITableViewCell の高さを設定すると reloadData 後にカクカクすることがあるObjective-CiOS 未だセルの高さ計算処理は面倒くさい気がする UITableViewCell の高さを動的に計算する(セルの中身に合わせてセルの高さが変わる)という仕組みの実装はある意味で iOS プログラミングの定石かつ鬼門な気がしてなりません。ベストソリューションがあれば是非教えて下さい。 iOS 8からは Self Sizing Cells という方法が登場し、 Autolayout+UITableViewAutomaticDimension でセルの高さを自動計算してくれるようになりました。 Understanding Self Sizing Cells and Dynamic Type in iOS 8 http://www.appcoda.c

    Autolayout で UITableViewCell の高さを設定すると reloadData 後にカクカクすることがある - Qiita
  • Storyboard上のUITableViewCellをxibで作る場合はregisterNib:forCellReuseIdentifier:メソッドが便利 - Qiita

    Storyboard上のUITableViewCellをxibで作る場合はregisterNib:forCellReuseIdentifier:メソッドが便利Objective-CiPhoneiOS Storyboardを使ってUITableViewのある画面を作り、そのCellを複数画面で使いまわすためにxibとして作成するときのTipsです。 UITableViewにiOS5から追加されたregisterNib:forCellReuseIdentifier:メソッドを使うことで、作成したxibをUITableViewに登録することができ、nilチェックとloadNibを必要としないシンプルなコードにすることができます。 コードで例を示すために使いまわしたいCellを"SampleTableViewCell"とします。作成するのは3つ SampleTableViewCell.xib Sa

    Storyboard上のUITableViewCellをxibで作る場合はregisterNib:forCellReuseIdentifier:メソッドが便利 - Qiita