Использование делегатов для связи между контроллерами представления
Задав несколько вопросов, я узнал, как отправлять заказы с одного контроллера представления на другой, и сумел написать код, который работает, но ничего не происходит ...
В моем проекте у меня есть два контроллера представления, названных какsayfa1
а такжеsayfa23
, Когда кнопка наsayfa1
по щелчку он откроетсяsayfa23
и напишите на этикетке (случайный привет, посмотрите код ниже), но этого не происходит. На симуляторе эта кнопка только открываетsayfa23
и с этикеткой ничего не происходит. Если вы посмотрите на код, вы сможете лучше понять его.
sayfa1.h
#import <UIKit/UIKit.h>
@protocol sayfa1Delegate <NSObject>
- (void)dealWithButton1;
@end
@interface sayfa1 : UIViewController
@property(nonatomic,assign) id<sayfa1Delegate> delegate;
@end
sayfa1.m
#import "sayfa1.h"
@interface sayfa1 ()
@end
@implementation sayfa1
@synthesize delegate;
-(IBAction)button
{
[delegate dealWithButton1];
}
@end
sayfa23.h
#import <UIKit/UIKit.h>
#import "sayfa1.h"
@interface sayfa23 : UIViewController <sayfa1Delegate>
{
IBOutlet UILabel *label;
sayfa1 *vc1 ;
}
@end
sayfa23.m
#import "sayfa23.h"
#import "sayfa1.h"
@interface sayfa23 ()
@end
@implementation sayfa23
- (void)dealWithButton1
{
vc1.delegate = self;
int random_num;
random_num = (arc4random() % 5 - 1) + 1;
if (random_num == 1)
{
label.text = @"hello1";
}
else if (random_num == 2)
label.text = @"hello2";
else if (random_num == 3)
label.text = @"hello3";
else if (random_num == 4)
label.text = @"hello4";
}
@end
После написания этого кода я подключил кнопку кsayfa23
так что откроется новая страница, и я подключил эту кнопку кsayfa1
чтобы получить действия кнопки и я подключил ярлык (наsayfa23
) чтобыsayfa23
получать заказы этикеток. Но, как я говорю, ничего не происходит, нет ошибок и нет привет, что я делаю не так? Я импортировалsayfa1.h
или жеsayfa23.h
в верхней части некоторых из моих h-файлов причина, по которой Xcode выдает ошибку об отсутствии определенной и решенной этой проблемы, но это моя ошибка или что-то еще.
Пример хочу.
User opens the app
sayfa1
shown on screen
User clicks the button and sayfa23
is shown the label text on sayfa23
is changed by the button which is at sayfa1
it write random hello1..2..3 etc...
Что я делаю не так?