У вас правильная идея, но вы пытаетесь вызвать -setText:
до того, как second
укажет на действительный объект! Сделайте это вместо:
-(IBAction)testbutton{
secondView *second;
second = [[secondView alloc] initWithNibName:nil bundle:nil];
[second setText:text]; //set text is a function that will take an NSString parameter
[self presentModalViewController:second animated:YES];
}
Кроме того, интерфейс, который вы предоставляете для своего secondView
класса, выглядит как неправильным и неполным - я не уверен, что вы пытаетесь сделать с частью -IB
. И в будущем будет полезно, если вы будете следовать обычному соглашению об именах Objective C и начнете имена классов с заглавной буквы: SecondView
вместо secondView
. Наконец, я бы посоветовал не называть контроллер представления, заканчивающийся на «... View», поскольку это позволяет легко спутать контроллер представления с UIView. Все вместе, это должно выглядеть примерно так:
@interface SecondViewController : UIViewController{
NSString *text;
}
@property (retain, nonatomic) NSString *text;
@end
Объявление text
в качестве переменной экземпляра здесь необязательно - если вы этого не сделаете, компилятор создаст ivar, если вы синтезируете методы доступа для своего свойства text
.