タグ

ブックマーク / qiita.com/yimajo (8)

  • iOSアプリの設計でBaseViewControllerのようなのは作りたくない - Qiita

    結論 小手先で楽をするためのボトムアップな設計は後々苦労する 継承を使った差分プログラミングは長年運用していくと大変だ 人は楽な方に流れるので、Baseクラスで解決すべきでない問題をBaseクラスで解決して後で困る はじめに この文章は2015年1月のpotatotips13で発表するネタ用のメモに書いてました。 実際に発表した内容を含む様子は下記のページにまとめています。 http://curiosity.co.jp/potatotips13/ 会場で質問されたりツイートの様子を見てて気づいたのですが、BaseViewControllerを使いたくないという"この文章"と同意の意見は、比較的経験のあるおじさんたちの意見であって、若い人からするとなぜBaseViewControllerを使ってはいけないように言われるのかについて具体例を聞きたがる傾向が強いです。 また、不必要に自分が気に入

    iOSアプリの設計でBaseViewControllerのようなのは作りたくない - Qiita
  • @yimajoのマイページ - Qiita

    株式会社キュリオシティソフトウェアの代表です。iOSアプリを作っています。最近はEffective Swift / Combine frameworkガイドブック / RxSwift研究読などを書いてます。 Follow

    @yimajoのマイページ - Qiita
  • KVOのメソッドの憶え方 - Qiita

    KVOはたまに使うのでいつもメソッドを忘れてしまう。リファレンスや技術サイトを検索してもKVOについての技術側面の説明が多くメソッドを素早く思い出したいときのサイトがないので、そのメモ。 念のため、Xcodeのスニペットに登録できるように変数部分をテンプレート化している。 監視の登録と解除 登録 //KVOの登録 [<#監視対象#> addObserver:<#監視するオブザーバ#> forKeyPath:<#監視対象のプロパティ名#> options:<#監視するデータにどのような物を含めるか#> context:<#任意のインスタンス#>];

    KVOのメソッドの憶え方 - Qiita
  • nilとNSNullの違いとNSNullをnilのように振る舞うようにする - Qiita

    プログラミング言語でnullは基的には値がないことや変数が初期化されていないということを表す。 Objective-Cではnilはポインタが何も実体を指していないことを表現し、変数がnilのときオブジェクトを持っていない状態となる。 ただ、NSDictionaryやNSArrayはnilを格納することが出来ず、 空を格納していることを表現するためにNSNullを使う。 nilとNSNullの大きな違いとして、値がnilである変数に対してメッセージを送った場合はnilを返す。nilは(id)0として定義されている。これに対し、オブジェクトがNSNullの場合、NSNullオブジェクトに存在しないメッセージを送るとNSInvalidArgument Exceptionの例外を投げ、これをキャッチしなかった場合はクラッシュしてしまう。 nilへのメッセージの戻り値は次のコードで実験できる。 v

    nilとNSNullの違いとNSNullをnilのように振る舞うようにする - Qiita
  • 自前コンテナでaddChildViewController:するときdidMoveToParentViewController:はやはり使うべき - Qiita

    //自前コンテナ(self)にchildViewControllerを追加 [self addChildViewController:childViewController]; //その後didMoveToParentViewControllerを実行しなければいけない [childViewController didMoveToParentViewController:self]; この追加(add)したあとになぜ完了(didMove)を明示的に知らせないといけないのか謎という感覚。また、これがなくてもこちらの想定通り動くのでずっと疑問だった。 結論としては 自前コンテナでaddChildViewController:を実行した後は、やはり必ずdidMoveToParentViewController:を呼ぶ。これはUIViewController自身が他のコンテナに追加(もしくは削除)

    自前コンテナでaddChildViewController:するときdidMoveToParentViewController:はやはり使うべき - Qiita
  • iOSアプリ開発をする自分が始めたばかりの頃から何度も読みなおしてる本 - Qiita

    iOSについては環境の進化が速く、書籍の内容が古くなっていることがほとんどなのですが Android開発を始めたばかりの僕が読みたかったが面白かったので自分も似たようなことを書いておきます。 詳解 Objective-C 2.0 Objective-Cのメモリ管理の仕組みであるリファレンスカウンタについて理解するために購入。現在発売中の第3版ではARCについても記載されているので最新のものを買うのが良いです。 Objective-Cの特徴であるカテゴリやプロトコル、KVOについても詳細に記載されているので何度も読み返すことになると思います。 Amazonへのリンク: 詳解 Objective-C 2.0 第3版 iOS開発におけるパターンによるオートマティズム マイナビでiPhoneアプリ開発の連載を持たれていたHMDTさんの書かれたです。 UIやメモリ管理、実際のモデル設計など盛りだ

    iOSアプリ開発をする自分が始めたばかりの頃から何度も読みなおしてる本 - Qiita
  • iOS6以上とiOS5の自動回転の制御について - Qiita

    まずiOS SDK6自体の回転に関する前提 ・iOS6以上とiOS5では自動回転のメソッドが違う ・iOS SDK6から以前の回転のメソッドが非推奨になった ・iOS SDKが6以上であっても実行する端末がiOS5に対応するのであればiOS5向けの実装をしないといけない 最初に結論 ・iOS6の場合、コンテナを使いそれぞれのViewControllerで回転の可否を決めたい場合は工夫が必要 iOS SDK6からの自動回転 iOS6からの自動回転についてはUIViewControllerのshouldAutorotateメソッドで、そのViewControllerで回転処理が存在するかどうかをBOOLで返し、回転する方向をsupportedInterfaceOrientationsメソッドで指定する。 //回転処理が存在するかどうかを返す - (BOOL)shouldAutorotate {

    iOS6以上とiOS5の自動回転の制御について - Qiita
  • iOSアプリ開発でもゆるくJenkinsを使う - Qiita

    はじめに 開発中のプロジェクトをビルドできない状態でリモートリポジトリにPushしてしまったことや、自分や同僚が書いたTODO・FIXMEなどのコメントを集計したいと思ったことはありませんか? このTipsでは、現状一番楽なJenkinsのインストール方法とJenkinsで出来る下記の事柄について説明しています Gitからのチェックアウト Xcodeプロジェクトのビルド ソースコード中のTODOコメントの抽出 ビルド失敗時のメール通知 Jenkinsのインストール Jenkinsはターミナルからhomebrewを使ってインストールします。 アンインストールもhomebrewからできるので安心ですね。 インストールは下記のコマンドで実行します。 ==> Downloading http://mirrors.jenkins-ci.org/war/1.498/jenkins.war ######

    iOSアプリ開発でもゆるくJenkinsを使う - Qiita
  • 1