У меня есть UIView
с UIButton
создан в 1 классе: «viewClass
». В моем классе mainVC
я позвонил viewClas
, и мне нужно было вызвать метод в mainVc
, когда выбрано значение button
, поэтому я создал . (Я надеюсь, что было ясно.)Назначение переменной из другого класса
Вот как я создал и delegate
:
viewClass.h
@protocol ViewClassDelegate
-(void)buttonWasClicked;
@end
...
@property (nonatomic, strong) id<ViewClassDelegate> delegate;
viewClass.m
[submitButton addTarget:self action:@selector(submitButtonTapped) forControlEvents: UIControlEventTouchUpInside];
- (void)submitButtonTapped {
[self.delegate buttonWasClicked];
}
mainVC.m
// Imported and called the delegate in mainVC.h. Then in .m I set the delegate
-(void)buttonWasClicked {
// Perform some action
}
Есть ли способ, чтобы передать NSString
в buttonWasClicked
? Я не имею в виду, как это:
- (void)buttonWasClicked:(NSString *)myString
потому что myString
не имеет никакого значения, если я не назначать его в mainVC
методе. Я хочу назначить его в submitButtonTapped
(который находится в myView.m
).
В принципе, я хочу что-то вроде этого:
- (void)textFieldDidBeginEditing:(UITextField *)textField
В этом методе, он знает, что textField
без меня его определения, когда я использую этот метод.
Надеюсь, это ясно. Если кто-то может объяснить это лучше, не стесняйтесь его редактировать. Если вам нужно больше разъяснений, пожалуйста, задайте в комментариях.
Откуда вы хотите передать «NSString» туда, где? –
От 'myView' до' mainVC'? –
Да. От 'myView' до' mainVC' с помощью метода 'buttonWasClicked' – Jessica