タグ

objective-cに関するtrappleのブックマーク (30)

  • iOS アプリの画面開発の基礎を理解する - A Day In The Life

    前回の記事「iOS アプリの構造がどのようになっているか紐解いてみる」で iOS アプリの構造について説明しました。深いところの説明ばかりだったのでもう少し浅いところ、画面の見た目や画面遷移を実装する方法について説明します。 ユーザの要望がどのようにアプリに反映されるのか アプリができる背景には「アプリでこんなことしたい」というユーザの要望とか、開発者自身の「アプリを通してXXのような素晴らしい体験をユーザに提供したい」という思いが出発点になっています。 ユーザの要望だったり開発者の思いは「UX設計」「ユースケース抽出」「UI設計」という3つの段階に分けてアプリに反映していきます。図にすると以下のような感じです。 UX(ユーザエクスペリエンス)設計 ユーザの要望や開発者のこんなもの作りたいという思いを元に、いつ、どこで、誰が使うのか?アプリが使われる状況を洗い出す。その上でユーザがアプリを

    iOS アプリの画面開発の基礎を理解する - A Day In The Life
  • StoryboardとSegueの基本 - Kesinの知見置き場

    Xcode4.2からStoryboardという画面(ビュー)のレイアウトと別の画面への遷移をコードを書かずにグラフィカルに作成することができる機能が追加されました。自分はXcode4.4からiPhoneアプリの開発を始めたので、昔はどのように画面のレイアウトや遷移を設定していたのか分からないのですが、Storyboardの基的な部分で何度もハマったのでこれからiPhoneアプリの開発を始める方のために自分が苦戦したポイントのメモを残そうと思います。 執筆時ではXcode4.4.1でARCを使うコードとなっています。iOS SDKやXcodeの進化は速いのでこのバージョンより新しい(古い)Xcodeではこの記事の通りにやっても動かない可能性があります。ご注意ください。 1. ビュー遷移の設定 まずは最も基的なボタンを押した時のビュー遷移の説明です。あまりに簡単なのでサクッと説明してしまい

    StoryboardとSegueの基本 - Kesinの知見置き場
  • Static Cells で楽々UITableViewプログラミング - 職業プログラマの休日出勤

    iOS5から Storyboards が導入され、それと同時にStaticCellsが登場しました。「試しに」StaticCellsを利用することはありましたが、分からない事も多く、気で使うのはためらっていました。この記事ではStaticCellsを気で使うために必要なものなどを紹介したいと思います。 What's StaticCells ? 多くの方はiOSの開発を始めたばかりの頃に「InterfaceBuilder上で全てのセルの設定を行いたいのに、セルはコードからしか作れない!」と思われたことがあるでしょう。StoryboardsのStaticCellsが、この願望への答えになります。次に挙げるような特性を持ちます。 StaticCellsを使うメリット IB上でほぼ全てのセル設定を行うことができる 書くコードの量は少なくなる(ことが多い) StaticCellsでできないこと/

    Static Cells で楽々UITableViewプログラミング - 職業プログラマの休日出勤
  • [iOS] StoryboardでUIViewの角丸を設定する : 雑食プログラミング備忘録

    UIView(もしくはそのサブクラス)を角丸にしたいことはよくあるだろう。 そういうとき、コードでこのようにするのはよく知られた手法だ。 UIView *view = [self.view viewWithTag:1]; view.layer.cornerRadius = 10.0f; view.layer.masksToBounds = YES; これで角丸を実現できる。 しかし、いちいちコードを書くのが面倒だと感じることはないだろうか。 特にStoryboradを使っている場合はなおさらだ。 Storyboardというとても素晴らしい機能があるのに、いちいちコードでレイアウトの設定を行うのは面倒くさいし、何より余計なコードが増えるのが嫌だ。 (状況にもよるが)少なくとも私はそう考える。 そこで、Storyboradでこれらを設定する方法を紹介する。 真ん中のグレーの四角が角丸にしたいU

    [iOS] StoryboardでUIViewの角丸を設定する : 雑食プログラミング備忘録
  • UITableViewの使い方その1:基本編

    UITableViewの使い方1:基UITableViewを使う場合に知らなければ困る基設定の説明です。 English top page UITableViewとは iPod機能でもよくお世話になるリストの表示を受け持つ部分です。セクションにより区切られた中にセルという表示単位を持っています。上下にスクロールする機能を持っているので、表示しきれない分は下にスクロールさせると見ることが出来ます。上部にナビゲーションバーを組み合わせて、階層構造を持つデータの表示に使われることが多いです。システム側が用意するセルはこれまで1行のテキストとイメージを表示する基機能をもつものだけでしたが、iPhone SDK 3.0になりセルの基タイプが4種類に拡張されました。UITableViewの動作制御は基的にそのコントローラーであるUITableViewControllerを通じて行います。

  • DeNAのiOSエンジニア内で利用頻度の高いライブラリをランキング化してみました #iOS #DeNA|CodeIQ MAGAZINE

    DeNAで取り組んできた非ゲームの新規事業開発。その新規サービスの中で、iOS開発にフォーカスして、利用頻度の高かったライブラリやサービスをランキング形式でお届けします。 紹介してくれるのは、DeNAエンターテインメント事業部でiOS/サーバ周りを担当している沖津貴智さんです! by 馬場美由紀 (CodeIQ中の人) DeNAにおけるiOSアプリ開発 DeNA沖津です。DeNAでは、エンターテインメント事業部という部署を新設し、非ゲームの新規事業開発に取り組んできました。 1年以上経過した現在、十数のサービスを開発し、リリース・運用を行ってきました。社内のGithub Enterprise上には、たくさんのプロジェクトのリポジトリが作成されており、エンジニア全員が自由に閲覧・プルリクエストを送れる環境にあります。 詳しくは、デブサミ2014「DeNAにおけるゲーム以外の新規事業の立ち

    DeNAのiOSエンジニア内で利用頻度の高いライブラリをランキング化してみました #iOS #DeNA|CodeIQ MAGAZINE
  • StoryboardのUnwind Segueの使い方 | DevelopersIO

    Exitという名前の謎の緑アイコン Xcode 4.5から、Storyboardに「Exit」という名前の緑のアイコンがシーンに追加されました。当初調べた際には、セグエで繋いでいる画面を戻るための機能(Unwind)であることは分かったのですが、具体的な利用方法が分からずもやもやしていました。最近になってようやく役割と利用方法が分かったのでまとめたいと思います。 Unwind Segue iOS 6になってUnwind Segueという新しいセグエが追加されました。UIViewControllerには、これをサポートするためのcanPerformUnwindSegueAction:fromViewController:withSender:などといったメソッドが追加されています。 Unwind Segueは前の画面に戻る遷移をStoryboard上で表現するためのセグエです。それとともに、

  • [iOS]Storyboardで始めるiPhoneアプリ開発 #2 – modalセグエを使う | DevelopersIO

    前回のおさらい 前回の記事[iOS]Storyboardで始めるiPhoneアプリ開発 #1 に引き続き Storyboardについて書いていきたいと思います。 前回の記事では、pushセグエを使って画面から画面への遷移を作りました。 Storyboard用語 前回説明していなかったものも含めて書いてみます。 (1) Storyboard ストーリーボード storyboardは「絵コンテ」を意味する英語です。 個々の画面内のレイアウトと画面間の遷移を視覚的に作っていくことが可能です。 (2) Scene シーン View(画面)とViewController(画面の管理を担当するパーツ)をまとめてシーン(Scene)と呼びます。 (3) Segue セグエ セグエはシーンからシーンへ遷移させるときの視覚効果を担当します。 Storyboard画面上で見てみると… 下の画像のような感じにな

    [iOS]Storyboardで始めるiPhoneアプリ開発 #2 – modalセグエを使う | DevelopersIO
  • iOSアプリ開発でZXingObjCを使ってQRコードを読み取る | DevelopersIO

    今回は、iOSアプリ開発で ZXingObjC ライブラリを使い、URLの QRコード を読み取り、ブラウザで表示するサンプルを作ってみたいと思います。 実は、先日書いたZXing 2.1のブログ とほぼ同じ動きをするサンプルになりますが、 今回は ZXing を Objective-C に移植した ZXingObjC ライブラリを使用します。 ZXing で手間のかかった環境設定周りの作業が、ZXingObjC ではほとんどなくなるので、非常に使いやすくなっています。 環境構築 今回は、以下の環境を使用します。 ZXingObjC 2.1.0 Xcode 4.6 iOS SDK 6.1 iPod touch 5th まず、サンプル用のプロジェクト「SampleZXingObjC」を作成します (「Single View Application」テンプレート、ストーリーボード使用、ARC使

  • 今更だけどiOSアプリでviewDidLoadとかviewWillAppearとかが呼ばれるタイミングをまとめてみる - (゚∀゚)o彡 sasata299's blog

    2014年03月31日11:04 Objective-C 今更だけどiOSアプリでviewDidLoadとかviewWillAppearとかが呼ばれるタイミングをまとめてみる 最近iOSアプリを作っているので、このブログでもそろそろ Objective-C ネタを出していこうかと思います(*゚∀゚)っ ということで、今回は viewDidLoad や viewWIllDisappearなどの呼ばれるタイミングを見ていきましょうか。それぞれが呼ばれるのはこういうときですよね。 viewDidLoad:インスタンス化された直後(初回に一度のみ) viewWillAppear:画面が表示される直前 viewDidAppear:画面が表示された直後 viewWillDisappear:別の画面に遷移する直前 viewDidDisappear:別の画面に遷移した直後 さて、試してみるためにStory

    今更だけどiOSアプリでviewDidLoadとかviewWillAppearとかが呼ばれるタイミングをまとめてみる - (゚∀゚)o彡 sasata299's blog
  • [iOS] 新言語SwiftがObjective-Cよりも良いところ - Qiita

    さきほどWWDCにて新言語 Swiftが発表されました。 The Swift Programming Language (iBooks Store) で言語ガイドが公開されていたのでザッと目を通してみました。 Objecitve-Cと比較してSwiftがイケてそうなところをパッと気になったところだけ書いていってみます。 変数/定数の型推論がある Objective-Cのように明示的に型を書かなくても型を推論してくれます。 推論で問題ないケースも多いと思うのでタイプ数がかなり減らせそうですね。 ( 変数を宣言する際はvar、定数を宣言する際はletで宣言します。 ) // 型推論 var name = "Shinji Ikari" // 変数の型は推論によりString型になる var age = 14 // 変数の型は推論によりInteger型になる let height = 141.5

    [iOS] 新言語SwiftがObjective-Cよりも良いところ - Qiita
  • そうだ、プログラミングしよう  Objective-Cのプロパティで気をつけること

    Objective-CやCocoa touchのTIPSを書いていきます。目的はiOSアプリ開発です。 Objective-Cにはプロパティという機能が備わっている。 意識していないとなかなか気づきにくいことがある。 それは、自クラスのプロパティにアクセスするとき、selfを付けるか付けないかに違いがあるということ。 まずは、コードを書いてみる。 @interface TestViewController : UIViewController { NSObject *m_obj; // メンバ変数 } @property (nonatomic, retain) NSObject *obj; // 外向けのプロパティ @end @implementation TestViewController @synthesize obj = m_obj; // わかりやすく区別するためにメンバ変数とプ

    trapple
    trapple 2014/05/29
    selfについて
  • Objective-C 宣言プロパティで利用できるオプション (readonly、retain、nonatomic)など | thaty

    今日は、宣言プロパティで使用できる属性とその宣言の仕方を見ていきます。 プロパティの属性とは 例えば、前々回の投稿「宣言プロパティとは」で出てきた、starSignというプロパティを見てみると、これは外部から読み取り専用にしたいインスタンス変数のプロパティでした。 アクセサでこれを実現する場合は、セッタメソッドを書かず、ゲッタだけを書くことで実現できました。 これを宣言プロパティで実現しようとすると、普通に宣言したのでは、ゲッタもセッタも提供されてしまいます。 そこでこのような場合は「readonly」という属性オプション使ってやります。これを設定することで、ゲッタだけを提供するプロパティとして定義できます。 このように読み書きの方法や、値の設定の仕方をある程度カスタマイズできる用にいくつかのオプションが用意されています。 その一覧を以下の表にまとめました。 合計11のオプションが用意され

    Objective-C 宣言プロパティで利用できるオプション (readonly、retain、nonatomic)など | thaty
  • Objective-Cのコードを削れるだけ削る7のTips | TOKOROM BLOG

    既存記事のまとめのため新しい要素があるわけではないのですが、Appleから発表されたXcode 5が正式にリリースされる前の復習ということで。 Tipsを適用する前のコード #pragma mark - Private Category @interface Sample () @property (strong) NSNumber* i; @property (strong) NSNumber* c; @property (strong) NSNumber* f; @property (strong) NSArray* array; @property (strong) NSDictionary* dictionary; @property (strong) Sample* child; @property (strong) UIColor* color; @property (assi

  • [iOS] StoryboardでUITableViewを実装し理解する [4月からはじめるiPhoneアプリ #1] | DevelopersIO

    はじめに この記事は4月からiOSアプリエンジニアとして働く方、転向する方を対象としています。 「iOSアプリケーションを1度でも作ったことがある」、もしくは「入門書を1冊でも読んだことがある」方には特に参考になるような記事になると思います。 UIKit入門 UIKitとは The UIKit framework provides the classes needed to construct and manage an application’s user interface for iOS. It provides an application object, event handling, drawing model, windows, views, and controls specificallyC designed for a touch screen interface. 引

    [iOS] StoryboardでUITableViewを実装し理解する [4月からはじめるiPhoneアプリ #1] | DevelopersIO
  • 日本語ドキュメント - Apple Developer

    語ドキュメント 日語に翻訳されたiOS/watchOS/tvOSのドキュメントです。 英語版の方が新しい場合がありますので、更新日を確認して下さい。 エンタープライズ環境での運用に関するドキュメントはこちらに移動しました。 App Store Connect ヘルプ タイトル 日付

  • NSStringの文字列連結方法のまとめ - iphone5のアプリ開発のためのメモ

    NSStringの文字列連結はいろいろやり方があり、それぞれ向き不向きがあるので一応ここにまとめておきます。 NSMutableStringを使う 文字を変更できるクラスであるNSMutableStringのappendStringを使います。 NSMutableString* str = [NSMutableString string]; [testString setString:@"aaa"]; [testString appendString:@"bbb"]; 追加してるっぽくて後で見たときわかりやすい感じです。元の変数が変わらないのはNSMutableStringを使う一番の利点だと思います。 stringByAppendingStringを使う 上のNSStringバージョンみたいな感じです。NSStringだと変更不可なので新しい変数を用意します。 NSString *str

    NSStringの文字列連結方法のまとめ - iphone5のアプリ開発のためのメモ
  • Objective-Cで正規表現を使う その2 : As Sloth As Possible

    前の記事で予告した通り、今度はNSRegularExpressionの話。 正規表現でマッチした部分文字列を取得する まずNSRegularExpressionオブジェクトを作って、それのメソッドにNSStringのオブジェクトを渡す、という形で使う。まぁ説明するよりコード見た方が早い。 NSString *string = @"「そんな正規表現で大丈夫か?」「大丈夫だ、問題ない」"; NSError *error = nil; NSRegularExpression *regexp = [NSRegularExpression regularExpressionWithPattern:@"「そんな(.+)で大丈夫か?」「(.+)」" options:0 error:&error]; if (error != nil) { NSLog(@"%@", error); } else { NST

    Objective-Cで正規表現を使う その2 : As Sloth As Possible
  • [Objective-c]インスタンス変数の書き方(第1回 ヘッダーファイルに書かない) | エンジニア ブログ

    [Objective-c]インスタンス変数の書き方 《今回》第1回 ヘッダーファイルに書かない 第2回 カテゴリーを使う 第3回 クラスを継承する [iPhoneアプリ開発]自作Frameworkをつくるシリーズ(リンク)で、再利用可能なモジュールをFrameworkとして切り出しました。 この作業では、ヘッダーファイルについて“公開用であること”を強く意識することになります。 不用意なバグを防ぐために、隠蔽できるものはきちんと隠蔽しておくべきでしょう。 これは、アクセスして良いものは、きちんとプロパティ宣言しておく(アクセッサを準備する)ということとセットです。 さて、今回からしばらくは“インスタンス変数を隠蔽できる場合、出来ない場合”というテーマで記事を書きます。 今回は、“インスタンス変数を隠蔽できる場合”です。 まずは、簡単なクラスを書きましょう。 1.BaseClass.h(イン

  • Objective-Cでは、インスタンス変数をどこに宣言するのが正しいのか? - Qiita

    では、どこで宣言するのがベストなのでしょうか? こちらのAppleの公式ドキュメントを参考にすると、 https://developer.apple.com/jp/devcenter/ios/library/documentation/ObjC.pdf 38ページの先頭に以下の記述があります。 インスタンス変数は実装詳細であり、通常、クラス自身の外からアクセスされることはあり ません。さらに、実装ブロック内に宣言すること、あるいは宣言済みプロパティから自動生 成させることも可能です。したがって通常は、インスタンス変数宣言をパブリックインター フェイスで行うべきではないので、波括弧も省略してください。 このように、Apple側はCase1のようにヘッダーファイル内でメンバ変数の宣言することを推奨していないようです。 また、このドキュメントでは、Case3のようにimplementationの

    Objective-Cでは、インスタンス変数をどこに宣言するのが正しいのか? - Qiita