タグ

2013年9月4日のブックマーク (21件)

  • メモリ管理 - かみやんの技術者ブログ

    iPhone開発で、メモリ管理の基礎を社員に伝えることが増えてきたので、エントリとして書こう。 Objective-C基礎 メモリ管理の前にObjCの基礎として、メソッド呼び出しの話。 クラスのインスタンスaがmethodAをコールするときは、 [a methodA] と書く。このとき、aがnilだったときは、エラーではなく、コールされない。methodAに戻り値があるときは、それは、0やnilやNOが返る。ObjCでは、 void dealloc { if(a!=nil){ [a release]; } [super dealloc]; } は、気持ち悪いので、nilチェックはやめましょう。 なお、ObjCでは、動的にメソッドを差し替えることができ、コールの度にメソッドが存在しているかも確認しています。そのため、LL言語(ライトウェイト言語、スクリプト)のように柔軟な記述が可能です。そし

    メモリ管理 - かみやんの技術者ブログ
  • iOS : XCodeのコンパイラの警告を制御する | mikamiz

    XCodeでコンパイラの警告をエラーとして扱う方法や、警告を一時的に無効にする方法について解説します。 通常はコンパイラ警告(Warning)が発生しても、警告を無視してプログラムの実行が可能です。しかし、コンパイラ警告を無視すると思わぬバグにつながるため、できる限りコンパイラ警告が出ないように開発するべきです。 コンパイラ警告がエラーとなるように設定すると、警告の発生でプログラムが実行できなくなります。そのため、コンパイル警告を無視することがなくなり、警告に正しく対応しながら開発できます。 通常のコンパイラ警告の例

  • Cocoaの日々: UIViewController でのメモリ管理見本

    iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど [2010-10-19訂正] [a][b]のケースでも deallocでの解放が必要なことが判明。それに適した記述に訂正してあります。 [関連情報] Cocoaの日々: viewDidUnload は呼ばれない(メモリ不足時だけ呼ばれる) UIViewController 内で使うオブジェクトのメモリ管理(作成と開放のタイミング)と初期設定についてまとめてみた。 実装見 4種類のインスタンス変数をもつケースについて考えてみる。 [a] nibから生成されるコントロール [b] 実行時に作成するコントロール [c] 他クラスへの公開プロパティ [d] 内部で使うインスタンス変数 ヘッダはこんな感じ。 @interface SampleViewController : UIViewCon

    Cocoaの日々: UIViewController でのメモリ管理見本
  • 『iPhoneアプリ開発、その(164) きっかけはself.view』

    皆さん、View Controller Programming Guid for iPhone OSの読み込みは順調っすか? こいつによるとxibファイルに頼らずにカスタムUIViewControllerを作るためには、必ずしもloadViewメソッドを実装する必要はないみたいですな。 まず、UIViewControllerもしくはその継承クラスをinitWithNibNameで初期化した時点ではviewにはnilが設定されてるってのは以前、話したとおり。 こいつが、いつnilでなくなるかを書いているのが以下の章になるわけですわ。 Understanding the View Management Cycle 引き金は

    『iPhoneアプリ開発、その(164) きっかけはself.view』
    syan0
    syan0 2013/09/04
    [[io
  • iOSアプリ開発のメモリ管理で気をつけること - A Day In The Life

    Objective-C での開発にだいぶ慣れてきたのですが、いまだメモリ管理まわりでハマることが多いのでまとめてみました。 メモリを確保してから解放するまでの流れ メモリを確保してから解放するまでの流れは以下の図のようになります(図はアップルのサイトから引用)。 alloc または init すると参照カウントが1になります alloc または init 系メソッドを呼ぶと参照カウントが1になります。 このように書いたのは、クラスの仕様によって alloc メソッドで retainCount が1になるオブジェクトと init 系のメソッドで retainCount が1になるオブジェクトがあるためです。alloc と init はセットで呼ばれることがほとんどなのでこの違いが問題になることはないと思いますが念のため。 int main() { /* allocで参照カウント1 */ NS

    syan0
    syan0 2013/09/04
  • Instrumentsユーザガイド (TP40004652 7.0)

    Instrumentsユーザガイ ド 目次 Instrumentsについて 7 初めに 7 この資料の構成 8 関連項目 9 Instrumentsクイックスタート 10 Instrumentsの起動 11 最初のデータの収集 13 トレーステンプレートの選択 14 ターゲットの選択 15 データの収集と分析 15 Instrumentsの概要 17 起動時の画面:トレーステンプレート選択ウインドウ 17 データの収集と分析:トレースドキュメントウインドウ 18 instrumentの追加と設定 22 組み込みinstrumentを「Library」ペインに表示 23 ライブラリの表示モードの切り替え 24 ライブラリ中のinstrumentの検索 24 カスタムグループの作成 26 スマートグループの作成 28 instrumentの追加 31 Instrumentの設定 32 アプリ

  • random() Function in Sass

    Heads up! This blog post hasn't been updated in over 2 years. CodePen is an ever changing place, so if this post references features, you're probably better off checking the docs. Get in touch with support if you have further questions. UPDATE: Sass now has a random() function natively built in, so we removed our custom function. The only difference is that the native function starts at 1 instead

    random() Function in Sass
    syan0
    syan0 2013/09/04
  • TimeProfilerの使い方

    前回はLeaksについて書きましたが、今回はTime Profilerについてまとめます。 TImeProfilerはシステムの中でどこの処理に時間(リソース)をつかっているかを可視化し、チューニングを行うためのツールです。 前回のLeaks同様に実行しましょう。実行と同時にiPhoneシミュレータも起動します。(ユーザごとの設定によります) 私は、シミュレータではなく実機で使っています。実は、iPhone3GSはあまりNSUserDefaultsを連続して呼ぶとフリーズしていまうというバグ(?)があり、TimeProfilerでみて処理を変えた経験から、テストは常に実機です。

    TimeProfilerの使い方
  • 10.1 開発ツール

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    10.1 開発ツール
  • InstrumentsのTime Profilerを使って重たいメソッドを特定する | Technology-Gym

    TimeProfilerとはXcodeのInstrumentsに含まれているプロファイリング用のツールです。 Instrumentsユーザガイド XcodeでProfileビルドをすると、Instrumentsが立ち上がって選択できます。 TimeProfilerを立ち上げると、上部トレースデータが表示されていますが、今回の主役は下部にあるCall Treeです。 初期の設定だとシステムのメソッドなども混ざってとてもわかにくいので、上記の設定にチェックを入れておくと 作成したメソッドだけになるので見やすくなると思います。 TimeProfilerの使い方 | eラーニングをすべての人に!blog.eラーニング.co.jp これで、準備は出来たので後はアプリを触っていて重たい感じのするを見ていけば、Call Treeにメソッド毎の処理時間や処理の割合が表示されます。 例として、カレンダー画面

  • 【iOS/Mac開発】超サクサクアプリへの必須ツール Instruments を使いこなそう

    こんにちは。iOS / Mac 開発担当の金内です。 使って幸せなアプリには、サクサクとした動きが欠かせませんね。自分たちで作っているアプリが「サクサク」でなく「もっさり」と言われてしまうと残念な気持ちになりますが、反面「よし。こうなったら超最適化して超サクサクなハイパフォーマンスアプリを目指す!」と誓いを立てるよい機会でもあります。 そんな誓いを立てたあなたにピッタリのツールが Xcode に付属している Instruments(インストゥルメンツ)です。フェンリルのウェブブラウザ Sleipnir for Mac や Sleipnir Mobile for iPhone / iPad の開発でも大活躍しています。 Instruments は、一般的にはプロファイラという種類のツールにあたります。プロファイラは、どのオブジェクトがどれくらいメモリを消費しているとか、どのメソッドにどれくら

    【iOS/Mac開発】超サクサクアプリへの必須ツール Instruments を使いこなそう
  • 開発初心者の為のCALayerチュートリアル

    「もし君が、iPhoneのプログラミングをやってるんなら、UIViewに詳しいよね。ボタンとか、テキストとか、スライダーとか、Webビューとか、UIviewのサブクラスなら、何でも来いなんだろ?」、、、えっ?うっ、うん。 でも、実はUIViewのテクノロジーが実はCALayerから来てたって知ってましたか?少なくとも、僕は知りませんでした、はい。結構長い間、、、orz “CALayer”について少し知っておく事は、決して無駄ではありません。だって、カッコいいビジュアル•エフェクトが簡単に作れてしまうんですから。ついでに、”Core Animation”の事を掘り下げて勉強しておくのもすごくいい事なんです。まぁ、でも”Core Animation”については、また別の機会に。 このチュートリアルでは、”CALayer”の基を学ぶ事によって、”layer”なる物を作っていったいそれがどういう

  • 『Code Sign error:Provisioning profile 'xx' can't』

    実機転送時のエラー Code sign error:Provisioning profile 'xxx-xxx-xxx-xxx・・・' can't be found xxx-xxx-xxx-xxx・・・ のとこに Profile Identifier が表示される。 実機テストも終わって Distribution やって アップロードだと思ったらエラー発生! キーチェーンを作り直したりしてるうちに実機テストすらできなくなった。 エラーの内容は、 Profile Identifier のアンマッチ! 設定されている Profile Identifier と 実機転送時に使用される Profile Identifier が一致していないってエラー。 はまりましたね。 ビルドエラーの画面の Profile Identifier と、オーガナイザの Profile Identifier とを比較す

    『Code Sign error:Provisioning profile 'xx' can't』
  • iPhoneアプリ開発の足跡 その8 - 戯言メイテル

    学んだこと loadviewとviewdidloadの違い いずれもビューの初期化処理を行うメソッドであり、ビューのプロパティにアクセスすることで自動的に行われる。 initで初期化、loadViewメソッドでビューの設定、viewDidLoadでビューロード後のプロパティ初期化などを行う UIViewControllerのロードでIBを使う場合 initWithNibNameで作って viewDidLoadで各部品の初期処理を行う IBを使わない場合 initWithNibName nibファイルにnill指定または単にinitで作る loadViewでビューをセットする viewDidLoadで各部品の初期処理を行う // loadViewでビューをセット - (void)loadView { UIView *mv = [[UIView alloc] initWithFrame:CGR

    iPhoneアプリ開発の足跡 その8 - 戯言メイテル
  • Xcodeのビルド警告を無視 - iOS 開発 - WOdka UserGroup

    Xcodeでビルド時に発生する警告を無視するためのオプションXcodeのコード中に必要に応じて記述する。非推薦メソッドの警告を無視させる。

  • DMM inside

    アニメ初の快挙!海外アニメ賞を受賞した『スキップとローファー海外ライセンス部長&プロデューサーが語る、奮闘の舞台裏

    DMM inside
    syan0
    syan0 2013/09/04
  • 【艦これ】艦隊これくしょんの艦娘達がブラジャーを着けているか調べている艦これオタの熱意が凄まじいwwwwwww:ハムスター速報

    艦これ】艦隊これくしょんの艦娘達がブラジャーを着けているか調べている艦これオタの熱意が凄まじいwwwwwww Tweet カテゴリ☆☆☆☆☆ 0 :ハムスター2ちゃんねる 2013年9月04日 11:30 ID:hamusoku 艦娘のブラの有無を調べてる https://twitter.com/momo0110/status/374905053686927360/photo/1 艦娘のブラの有無を調べてるその2 https://twitter.com/momo0110/status/374919394947633152 艦娘のブラの有無を調べてるその3 https://twitter.com/momo0110/status/374938484391178240 4 :ハムスター名無し2013年09月04日 11:31 ID:Fbjny8FC0 あ艦これ 5 :ハムスタ

  • 【画像】 最近の小学生が使ってる彫刻刀がアラフォーの俺の想像を超えてる - ゴールデンタイムズ

    1 : ブラディサンデー(岡山県) :2013/09/04(水) 09:13:01.98 ID:xNqWvZ4F0 BE:1569505436-PLT(12009) ポイント特典 最近の小学生が使ってる彫刻刀がアラフォーの俺の想像を超えてる…なに…これ…? https://twitter.com/nopi_nopita/status/374884386866335744/ 11 : 閃光妖術(神奈川県) :2013/09/04(水) 09:16:36.64 ID:jtTsqtcZI 逆に使いにくいんじゃないか? 8 : ニールキック(神奈川県) :2013/09/04(水) 09:15:36.31 ID:vx3UqX7dP 作る作品が道具超えられなくて萎えるパターンね 13 : 中年'sリフト(SB-iPhone) :2013/09/04(水) 09:17:31.39 ID:NbSCt46

    【画像】 最近の小学生が使ってる彫刻刀がアラフォーの俺の想像を超えてる - ゴールデンタイムズ
  • マイクロソフトはノキアを特許ごと買ったのか? | 栗原潔のIT弁理士日記

    マイクロソフトがノキアの携帯事業を買収したというニュース、両社の距離は最近特に縮まっていたととは言えちょっとびっくりしました。マイクロソフト出身のスティーブ・エロップCEOがノキアからマイクロソフトに戻ることで、バルマーの後任になるのではなんて噂もあるようです。 ここでは、ノキアの特許資産について見てみましょう。マイクロソフトは携帯事業買収のために約40億ユーロ、特許に約16.5億ユーロ払っています。特許分が結構な割合になっています。 マイクロソフトがノキアの特許資産も買ったと勘違いしている人がいるようですが、そうではありません。グーグルが特許資産ごとモトローラを買った(正確に言えば特許資産ほしさにモトローラを買った)ケースとはちょっと違います。 マイクロソフトが16.5億ユーロで得たのはノキアの特許ポートフォリオの非排他的なライセンス(10年分ですが後に永続ライセンスに延長可)です。つま

    マイクロソフトはノキアを特許ごと買ったのか? | 栗原潔のIT弁理士日記
  • iOS 開発記録 Natsu note

    このたび、動画にちょっとスパイスを加えてより素敵な思い出にできるアプリを作りました。その名も「omoide」です。 omoide Pro セール中 120円(2015/08/21現在)→ 無料版 omoide(アプリ内課金あり)→ omoideの成り立ち 撮影場所や日付、そして出演者の名前と年齢、これらの表示があるだけで、動画を観るときの気持ちが違います。撮影現場にいなかった人でも、そのときの様子を簡単に思い浮かべることができるのです。 動画にBGMを付けると一気に華やかになるのをご存じですか?動画に映し出される情景が、曲と共に心に刻まれます。 動画編集アプリはたくさんありますが、操作が複雑だったり結構手間がかかります。もちろん、大作を作りたいときには、十分な機能を持つ動画編集アプリが必要になるでしょう。でも、それって毎日ではないと思うのです。 自分の経験から、仕事育児・家事・ちょっとの

  • クックパッドでサンマ食べ過ぎな奴がいて怖い : 暇人\(^o^)/速報

    クックパッドでサンマべ過ぎな奴がいて怖い Tweet 1: 以下、名無しにかわりましてVIPがお送りします 2013/09/04 00:54:59 ID:Pt9LIl3R0 http://cookpad.com/recipe/1942964 つくれぽのサーフ●●●● 狂気すら感じる 7: 以下、名無しにかわりましてVIPがお送りします 2013/09/04 01:00:03 ID:JI/iNKa70 これは・・・ 8: 以下、名無しにかわりましてVIPがお送りします 2013/09/04 01:00:37 ID:gzyAANIa0 何の罰ゲームかって位にサンマしかってねえな 5: 以下、名無しにかわりましてVIPがお送りします 2013/09/04 00:58:43 ID:ge3kAVBs0 くそわろたwwwwwwwwwwwwww 9: 以下、名無しにかわりましてVIPがお送りします

    クックパッドでサンマ食べ過ぎな奴がいて怖い : 暇人\(^o^)/速報