Google天気APIを解析しようとしています。私はnsxmlパーサを使って日付を取得しています。天気などはapiから取得し、コアデータに保存します。不要なデータを格納するコアデータ
私がしようとしているのは、パーサから日付を抽出し、現在の日付とマッチさせてから、保存する必要のある情報だけを保存することです。
今日、今日の日付は08/09/2011で、解析の日付が一致します。私は、パーサからの2つの情報だけをCore Dataに保存したいと考えています。私はそれらの日付だけを保存しようとしていますが、私は4つの情報をコアデータに保存するようにしています。
もし私が08/11/2011を与えたら、私は3日間の情報しか得られないはずです。しかし、私はそれをすることができません。サンプルコードを投稿しています。私はテストケースを使って自分のアプリケーションをチェックしています。 http://www.iphonedevsdk.com/forum/iphone-sdk-development/87475-coredata-storing-more-values-than-what-ここに私の全体のコードを投稿
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
{
if ([@"forecast_date" isEqualToString:elementName])
{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd"];
startDate = [formatter dateFromString:[attributeDict objectForKey:@"data"]];
[formatter release];
}
else if ([@"forecast_conditions" isEqualToString:elementName])
{
isParsingForecast = YES;
isParsingInformation = NO;
isParsingCurrent = NO;
newdate=[startDate addTimeInterval:60*60*24*[forecastConditions count]];
NSMutableDictionary *fields = [[NSMutableDictionary alloc] init];
[fields setObject:newdate forKey:@"date"];
[fields setObject:city forKey:@"city"];
[fields setObject:state forKey:@"state"];
[fields setObject:country forKey:@"country"];
[fields setObject:startDate forKey:@"startdate"];
//[fields setObject: forKey:<#(id)#>]
[forecastConditions addObject:fields];
[fields release];
}
else if (isParsingForecast) {
NSMutableDictionary *fields = [forecastConditions lastObject];
NSLog(@"dic is : %@ \n\n",fields);
[fields setObject:[attributeDict objectForKey:@"data"] forKey:elementName];
}
}
required-store-database.html#post363100
サンプルコードは表示されません... – GarlicFries
2つの情報しか保存しないと言ったらどういう意味ですか?情報は正確には何ですか?コアデータに含まれる値の情報を読んで、それを見たいものに編集することができます。 –
私の情報は、パーサから取得したデータです。日付でチェックし、それらをcoredataに挿入する必要があります。 – new