Да, это прекрасный способ передачи информации в новый объект.
В качестве альтернативы, вы можете создать собственный инициализатор для WeatherApp, например
- (id)initWithZipCode:(NSString *)zip;
, а затем в файле реализации., это может выглядеть так:
- (id)initWithZipCode:(NSString *)zip
{
self = [super init];
[self setZipcode:zip];
return self;
}
Наконец, вы можете создать экземпляр класса следующим образом:
- (IBAction)showMyWeather:(id)sender
{
WeatherApp *weather = [[WeatherApp alloc] initWithZipCode:placemarkZip];
[weather setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self presentModalViewController:weather animated:YES];
[weather release]; // No longer needed with ARC... just sayin'
}
Наконец, если вы собираетесь продолжать передавать информацию по мересделать выше, я бы спросил, почему вы используете initWithNibName:bundle:
.Если вы просто собираетесь передать nil
обоим, почему бы просто не использовать [[WeatherApp alloc] init]
?