Более простой способ здесь.
Просто используйте глобальную переменную. Объявите объект или переменную, необходимые для перехода к следующему классу.
Например, у нас есть 2 класса - classA
и classB
соответственно.
В classA
обычно содержится:
#import "classA.h"
@interface classA()
@end
@implementation classA
-(void)viewDidLoad
{
...
}
-(void)didReceiveMemoryWarning
{
...
}
и classB
содержит:
#import "classB.h"
@interface classB()
@end
@implementation classB
-(void)viewWillLoad
{
...
}
-(void)didReceiveMemoryWarning
{
...
}
Теперь импортируйте второй класс classB
в classA
#import "classA.h"
#import "classB.h" //---import classB to classA.
@interface classA()
@end
@implementation classA
-(void)viewDidLoad
{
...
}
-(void)didReceiveMemoryWarning
{
...
}
Теперь у нас есть мост, чтобы пойти во второй класс classB
теперь, чтобы объявить переменную или объект как глобальный, объявите его в файле .m первого класса, как показано ниже
В classA.h
#import "classA.h"
#import "classB.h"
@interface classA()
@end
NSString *temp; //----declare any object/variable as global.
@implementation classA
-(void)viewDidLoad
{
...
temp=@"Hello";
...
}
-(void)didReceiveMemoryWarning
{
...
}
Здесь объект temp
является глобальным объектом класса NSString
для доступа к глобальному объекту или переменной в любом классе, просто повторно объявите объект или переменную во втором классе. Например. приведено ниже:
В classB.m
#import "classB.h"
@interface classB()
@end
extern NSString *temp; //----use `extern` keyword for using the global object/variable in classB that was declared in classA.
@implementation classB
-(void)viewDidLoad
{
...
LabeL.text=temp;
...
}
-(void)didReceiveMemoryWarning
{
...
}
Теперь к значению может обращаться второй класс. Просто! .. Этот метод можно использовать для любого количества классов.
Примечание:
Вы должны импортировать .h файл второго класса в первый класс. Но не нужно импортировать
файл .h первого класса во второй класс.
Запомните мост, если мост есть, он может идти с обеих сторон.
Я думаю, это поможет. Это помогло мне, когда я был в такой же ситуации.