配列内のオブジェクトを名前でチェックする可能性はありますか。アプリのある時点で、plist にアクセスし、名前で見つけたオブジェクトの下に格納されている情報をプルする必要があります。これを行う必要があるのは、配列内でオブジェクトが配置される整数がないためです。
通常の手順を開始しましたが、どこにも行きません。たぶん、私には少し遅すぎます....
これが私のplistの外観です
Array
Dictionary
title ...
text ...
ect ...
Dictionary
title ...
text ...
ect ...
Dictionary
title ...
text ...
ect ...
これまでのコードはまったく役に立ちません。私は間違いなく何か間違ったことをしています。
-(NSString*)nameFromPlist:(NSString*)name {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"Orte.plist"];
_regionArray = [NSArray arrayWithContentsOfFile:writableDBPath];
NSString *string = [[NSString alloc]init];
for(NSDictionary *dict in _regionArray) {
string = [[dict objectForKey:name] valueForKey:@"title"];
}
return [NSString stringWithFormat:@"%@",string];
}
私の文字列はnullを返しています。
アイデアはありますか?どうもありがとう!
答え:
これが皆のためのコードです:
-(NSString*)nameFromPlist:(NSString*)name {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *tmpFileName = [[NSString alloc] initWithFormat:@"Orte.plist"];
NSString *path = [documentsDirectory stringByAppendingPathComponent:tmpFileName];
NSString *string;
NSMutableArray *array = [NSMutableArray arrayWithContentsOfFile:path];
NSDictionary *dict = [[NSDictionary alloc] init];
NSString *title;
for (int i=0; i<[array count]; i++) {
dict = [array objectAtIndex:i];
title = [dict valueForKey:@"title"];
if([title isEqualToString:name]) {
string = [dict valueForKey:@"title"];
NSLog(@"Titel: %@", string);
}
}
return [NSString stringWithFormat:@"%@",string];
}
みんなありがとう!