@neiraza

2匹の怪獣が寝た後にプログラマーしてる、最近はサイバーエージェントでゼミ長もしてる僕のネタ帳

iPhoneアプリ開発講座を受講する その3

[iPhone][Objective-C]

先日の講座分の余談。

アンスコ

- (void)dealloc
{
    [_window release];
    [rootViewController_ release];
    [super dealloc];
}

_windowのアンスコが前のやつと、rootViewController_の様にアンスコが後ろのやつ。
前アンスコの場合は予約語だそうな。

文字列比較

//文字列の比較はメソッド
if ([keyPath isEqualToString:@"score"] == YES){
    //keyPathの内容がscore
}

.plist

plistは連想配列のように値を持たせたプロパティリストのこと。
XMLフォーマットなので、ファイルを開けばただのXMLにしかみえない。

「setting.plis」を作成したていで、下記のような記述でファイルの参照を利用可能にする

NSBundle * bundle = [NSBundle mainBundle];
NSString * path = [bundle pathForResource:@"Setting" ofType:@"plist"];
NSMutableDictionary* setting = [NSMutableDictionary dictionaryWithContentsOfFile:path];

ここからはplistから色んな型で取得してみましょ。

Stringの値を取得する
NSString * name = [setting objectForKey:@"name"];
NSLog(@"name=%@", name);
||<    

***Numberの値を取得する(Integerで)
>|objc|    
NSInteger max = [[setting objectForKey:@"max"] integerValue];
NSLog(@"max=%d",max);
Arrayの値を取得する(Integerで)
NSMutableArray * member = [setting objectForKey:@"member"];
NSInteger count = [member count];
NSLog(@"count=%d",count);

(おまけ)for文で配列をぐるぐるまわす。
for (NSInteger i =0; i<count; i++) {
    NSString * memberName = [member objectAtIndex:i];
    NSLog(@"memberName = %@",memberName);
}
    
for (NSString * memberName in member) {
    NSLog(@"memberName = %@",memberName);
}

ふむふむ。