Get started Start by creating your first app. Go deeper with our training courses or explore app development on your own.
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 アップル社公式の開発ガイドなどでは、iPhone OSをターゲットとしたアプリケーションを開発する場合、autoreleaseはなるべく避けるようにと書いてあります。この記事ではその理由を掘り下げてみようと思います。 この理由を明かす前に、まず推奨となっているretain countでの管理と、autoreleaseでの管理の違いを説明します。retain countで管理されているオブジェクトは、それをメモリー上に残しておきたい場合にretain countを0より大きい値になるようにしておきます。そのオブジェクトがallocやretainされるとカウントが増加し、releaseされればカウントが減少します。カウントが0になった状態でrun loop(ユーザーからの入力などのイ
iPhoneアプリで一儲けしたくなっちゃったからObjective-C頑張っちゃうZO☆ とかいうドン引きな冗談はさておき、なんとなく勉強し始めたObjective-Cについての徒然なるまとめです、真面目です。C++がそれなりに出来るObjective-C初学者*1が対象です。体系的に学習してないですし、言語仕様もほとんど見てなく、何が言いたいかというと要ツッコミ。 書き溜め書き足ししていたら、全体的に大変なことになってしまいましたが、ゆるふわなのでご愛嬌。実は、一番ためになるのはリンク部分かもしれません、Let [us goTo:最後の方]。 Objective-Cとかいう言語 Objective-Cは、C言語にぐちゃぐちゃプリプロセッサ的なものを追加した珍妙なクソ言語(失礼*2)です。 トラップの宝庫C++とは全く別物だと捉えるのが正解ですが、実はC++も混ぜられる*3とのことで、中二
昨日はメモリリークと戦っていて,自分が色々勘違いをしていたことに気がついた. retain,autorelease,release難しいよ.. 前提 そもそも,obj-cでは変数は参照であり指しているものはオブジェクトと考える. オブジェクトを生成するたびに,cで言うところのmallocで動的にメモリを確保してそこに変数を割り当てている状態になるのでユーザーがきちんと管理,解放を行わないとすぐにメモリリークする. このメモリ管理がくせ者だ. retainCountを意識する オブジェクトはそれぞれretainCountという変数をもっている. obj = [[Class alloc] init]; てな感じにオブジェクトを生成したときに,カウントが1増える. このカウントが0になったとき,オブジェクトは解放される. (解放されるとき,objがもっているdeallocメソッドが呼ばれる.)
今月からようやくModern Objective-Cに着手(かなり今さらだけど・・) 記述がかなりシンプルだとは聞いていて、情報もたくさん挙がっていたのだけど、困惑したのでメモ。メンバー変数とか@synthesizeとか宣言不要でコードがスッキリして嬉しい。基本的には@propertyだけ宣言すれば良いみたい。また@properyもいままでヘッダファイルでのみ宣言していたけど、プライベートなものは実装ファイルの無名カテゴリ内に宣言すればよいみたい(パブリックプロパティは従来通りヘッダファイルに記述)。以下、プライベートプロパティを宣言する時の例。 一応、メンバー変数とか本当に定義されているのか確認。 もう"Legacy" Objective-Cでは書けないな。 参考サイト 参考にさせていただいたサイトです。 Objective-Cプログラミング言語 - プロパティの宣と実装 by Appl
こんにちは。きんくまです。 今回はObjective-Cの@propertyについてのまとめです。 ARCは使ってないバージョンです。 公式のリファレンスです。 >> Declared Properties Obj-Cをはじめた当初はよくわからないながらも何となく使っていたのですが、 いろいろとわかってきたのでまとめておこうと思いました。 @propertyはカタカナに直すとプロパティだから、別言語から来た人(私)は 何か実体のあるもののような気がするのですが、そうではなくて 実際はアクセサメソッド(getter, setter)のことです。 なので、クラス外からアクセスするときに必要に応じて定義するとよいです。 最初私はよくわからず、インスタンス変数に全てプロパティを定義していたのはナイショです。 @propertyを使わないでインスタンス変数にアクセス = KVC ではまずは@prop
35. local datas = { { name = 'base_ui', visible = 1, z = 10, elements = { { name = 'bg_gacha_body', x = 0, y = 166, width = 640, height = 440, z = 10, style = 'normal', visible = true, }, local scene = CCScene:create() local layer = CCLayer:create() scene.layer = layer -- dynamic scene.onTouch = function (eventType, x, y) .... end { name = 'bg_gacha_head', x = 0, y = 0, width = 640, height = 166,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く