Я пытаюсь создать XML-парсер, который сохраняет данные из YR.no-API. Парсер должен добавить данные к этим двум структурам данных. Моя проблема в том, когда я пытаюсь добавить WeatherTimeData объекта в мой массив в WeatherData, похоже, объекты не получает добавленные, следующий отсчет всегда дает мне нольДобавление объектов в массив NSXMlParser Нет данных
- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementname isEqualToString:@"time"])
{
[self.weatherdata.timedata addObject:currentWeatherTimeData];
NSLog(@"amount of objects in timedata-array %d", [[self.weatherdata timedata] count]);
}
Это мои два структур данных, я Alloc weatherData по следующему методу
-(id) loadXMLByURL:(NSString *)urlString
{
_weatherdata = [[WeatherData alloc] init];
NSURL *url = [NSURL URLWithString:urlString];
NSData *data = [[NSData alloc] initWithContentsOfURL:url];
parser = [[NSXMLParser alloc] initWithData:data];
parser.delegate = self;
[parser parse];
return self;
}
Должен ли я выделять массив внутри объекта weatherdata?
WeatherData.h
@interface WeatherData : NSObject
@property (strong, nonatomic)NSString *town;
@property (strong, nonatomic)NSString *country;
@property (strong, nonatomic)NSMutableArray *timedata;
@end
WeatherData.m
@implementation WeatherData
@synthesize town = _town;
@synthesize country = _country;
@synthesize timedata = _timedata;
@end
WeatherTimeData.h
@interface WeatherTimeData : NSObject
@property (strong, nonatomic)NSDate *startTime;
@property (strong, nonatomic)NSDate *endTime;
@property (strong, nonatomic)NSString *iconSymbol;
@property (strong, nonatomic)NSString *windDirection;
@property (strong, nonatomic)NSString *windSpeed;
@property (strong, nonatomic)NSString *temprature;
@property (strong, nonatomic)NSString *preassure;
@end
WeatherTimeData.m
@implementation WeatherTimeData
@synthesize startTime = _startTime;
@synthesize endTime = _endTime;
@synthesize iconSymbol = _iconSymbol;
@synthesize windDirection = _windDirection;
@synthesize windSpeed = _windSPeed;
@synthesize temprature = _temprature;
@synthesize preassure = _preassure;
@end
Хорошо, поэтому мне нужно написать собственный метод init, который выделяет память для этого объекта? –
@TobiasOlofsson Да, это правильно. – trojanfoe