タグ

2014年2月13日のブックマーク (5件)

  • 手探りiPhoneSDKの日々 plist(XML形式)ファイルの取り扱い

    iPhone SDKでxml形式のファイルを取り扱ってみようと思います。 アプリの設定だったり必要な情報を保持したり、使う機会は多々あるのではないでしょうか。 以下のようなXML構造を想定してみます。 <person> <age>20</age> <firstName>Tarou</firstName> <lastName>Yamada</lastName> </person> <person> (省略) </person> (以下省略) XML形式のファイルはプロパティリスト(*.plist)で作成します。 ※XMLファイルの作成、Objective-Cからの読み込み&書き込みが非常に簡単に行えたのでこの形式を選びました。 ※NSXMLParserというクラスも存在していますが今回は触れません。 1. plistファイルの作成。 Resourcesフォルダを右クリックし、追加→新規ファイ

  • ダイナミックObjective-C(102) プロパティ(2) - プロパティの宣言

    プロパティの話を続けよう。今回は、プロパティを宣言するための文法を調べてみる。 プロパティの目的 まず、プロパティの目的を明確にしておこう。プロパティとは、「クラスにアクセッサメソッドを簡単に付加する」ために導入されたものだ。 以前であれば、クラスが持つインスタンス変数に安全にアクセスさせるには、アクセッサメソッドを手動で追加する必要があった。これを自動化してやろう、というのがプロパティの目的だ。 ここで注意しておきたいのは、プロパティを使うとそのアクセスではメソッド呼び出しが発生する、というところだろう。前回、Objective-Cではほぼ自由にインスタンス変数にアクセスできるということを紹介した。プロパティではこれらの手段は使わずに、適切なメソッドを提供することになる。 この手法の利点は、安全であるということだ。とくにObjective-C特有の、retainやreleaseを伴ったオ

    ダイナミックObjective-C(102) プロパティ(2) - プロパティの宣言
  • xcode グローバル変数+シングルトン+Userdefault 環境設定管理クラス

    2012年06月14日11:33 アプリの環境設定管理クラスを設計する カテゴリ開発Objective-C melodybox Comment(0)Trackback(0) 今回はアプリの環境設定を普通のクラスプロパティのように扱えながら、且つアプリを終了しても保持し続けることができるクラス(以下AppSettingクラス)を設計していきます。 このクラスの仕様は以下の通りです。1. AppSettingはシングルトンとする。2. AppSettingは各環境設定値にアクセスする為のプロパティを持つ3. 環境設定値の値が変わった場合、AppSetting内部でUserDefaultに保存する4. 各環境設定値のデフォルト値をUserDefaults.plistに定義し、AppSetting内でUserDefaultに初期値として設定する5. AppSetting初期化時にUserDefau

    xcode グローバル変数+シングルトン+Userdefault 環境設定管理クラス
  • Objective-Cで"@dynamic"の使いどころを考える | TOKOROM BLOG

    Objective-Cの @dynamic はお好きですか? ぼくはけっこう好きです。 @synthesizeのほうは昔はほぼ必須で書かないといけなかったり Xcode4.4で省略できるようになった ことで有名ですが、いっぽうで@dynamicのほうはあまり日の目を浴びていない気がします。 そこで、今日は@dynamicについて再考してみることにしました。 以下、ぼくが思い返してみて@dynamicがこんなときに便利だったと感じたところを2点挙げさせていただきます。 みなさまのほうでも「こんなとき便利だよ」というのがありましたら是非ご教示ください。 クラスの内部実装が適当なのを隠すときに そもそもこの実装自体がどうかという話もあるのですが、リファクタリング前にひとまず雑な実装をしてしまうことはままあります。 例えば、ゲームスコアを管理するGameScoreクラスを作ったとして、その中で ハ

    Objective-Cで"@dynamic"の使いどころを考える | TOKOROM BLOG
  • Objective-C 宣言プロパティの更なる理解 - @dynamicを使った定義など. | thaty

    前回、宣言プロパティの概念と基的な使い方を解説しました。大まかに言えば以下のように、アクセサを省略して書くことができるものだと考えてもいいかもしれません。 今回は宣言プロパティの使い方をもう少し詳しく見て行きましょう。 プロパティ名とインスタンス変数名を区別する 上の例では、@propertyで宣言している名前は、インスタンス変数と同じです。 これを別の名前で定義することによって、外部からのアクセス時に使う変数と、内部からしかアクセスしない変数を明示的に区別することができます。 以下のように、まず@property定義時に外部アクセス用の変数名を宣言し、@synthesizeでインスタンス変数と外部用の変数を結びつけてやります。 /* Human.h */ @interface Human : NSObject { BOOL man; NSString* name; int starSi

    Objective-C 宣言プロパティの更なる理解 - @dynamicを使った定義など. | thaty
    Bowz13
    Bowz13 2014/02/13
    このために@dynamicというコンパイラ指示子が用意されています。これはコンパイラに、プロパティは宣言されてるけど、アクセサを自動生成しなくてもいいよということを教えるものです。