Как передать nsarray из класса nsobject в класс View controller?
Я новичок в objective c. Я пытаюсь создать приложение погоды. где я анализировал данные с открытой карты погоды. Я сохранил проанализированные данные в массиве. теперь хочу получить доступ к значению массива из другого класса, но получаю нулевое значение.
Кто-нибудь может мне помочь? Заранее спасибо.
Что я уже пробовал:
вот мой класс nsobject, где я храню данные и пытаюсь отправить их в viewcontroller.
- (void)getCurrentWeather: (NSString *)запрос
{
NSString *const BASE_URL_STRING = @"http://api.openweathermap.org/data/2.5/weather?вопрос=";
NSString *const API_KEY = @"& APPID=35e37cecbd835f3949f6d67cb25b0706";
NSString *weatherURLText = [NSString stringWithFormat:@"%@%@%@",
BASE_URL_STRING, query, API_KEY];
NSURL *weatherURL = [NSURL URLWithString:weatherURLText];
dispatch_async(kBgQueue, ^{
NSData* data = [NSData dataWithContentsOfURL:weatherURL];
[самость performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES];
});
}
- (void)fetchedData: (NSData *)responseData {
NSError* ошибка;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData: responseData options:kNilOptions error: & amp;error];
NSString* cityName = [json objectForKey:@ " name"];
инт currentTempCelsius = (тип int)[[[JSON с помощи метода objectForKey:@"основной"] помощи метода objectForKey:@"темп"] сертификата от его закодированной формы] - ZERO_CELSIUS_IN_KELVIN;
инт maxTemp = (тип int)[[[JSON с помощи метода objectForKey:@"основной"] помощи метода objectForKey:@"temp_max"] сертификата от его закодированной формы] - ZERO_CELSIUS_IN_KELVIN;
инт minTemp = (тип int)[[[JSON с помощи метода objectForKey:@"основной"] помощи метода objectForKey:@"temp_min"] сертификата от его закодированной формы] - ZERO_CELSIUS_IN_KELVIN;
NSString *weatherDescription = [[[JSON с помощи метода objectForKey:@"погода"] objectAtIndex:0] помощи метода objectForKey:@"описание"];
weatherArray = [[NSMutableArray alloc] initWithObjects:cityName, weatherDescription,
[NSString stringWithFormat:@ "%d", currentTempCelsius],
[NSString stringWithFormat:@ "%d", maxTemp],
[NSString stringWithFormat:@ "%d", minTemp], nil];
У меня есть файл NSObject.h как-
@interface WeatherData : NSObject
@property (nonatomic) NSString *weatherDescription;
@property (strong, nonatomic) NSString *currentTemp;
@property (nonatomic) int maxTempCelsius;
@property (nonatomic) int minTempCelsius;
@property (nonatomic, retain) NSMutableArray *weatherArray;
- (void)getCurrentWeather: (NSString *)запрос;
@конец
На мой взгляд контроллер -
.H-файл :
@property (nonatomic, retain) NSMutableArray *weatherResultArray;
.m-файл:
- (void)searchButtonClicked: (UIButton*)отправитель
{
[self. view endEditing:да];
WeatherData *weather = [[WeatherData alloc] init];
[погода getCurrentWeather: _textField. text];
самостоятельно.weatherResultArray = погода.weatherArray;
//temperatureLabel. text = [NSString stringWithFormat:@ " %d°", weather.currentTempCelsius];
}
Я просто хочу показать результаты в UILable.