ios如何判断从那个Contoller跳转过来的。

时间:2022-08-08 11:02:33
我现在两个视图共用一个AContoller控制器,可在viewDidLoad方法中,两个视图加载运行代码不一样,在这个AContoller如何判断现在是加载的那个视图。
意思有A视图和B视图,选的控制类都是AContoller,如何在AContoller中的viewDidLoad方法中判断现在要加载的是A视图,还是B视图。

5 个解决方案

#1


刚学ios开发做一个收藏商品的功能,我就存在NSUserDefaults中了,存的是一个数组。这样做好不好。

#2


可定义一个枚举属于用于区分是来自哪个控制器。
typedef NS_ENUM(int, FromWhere) {
       FromA,
       FromB,
};

//////定义一个属性
@property (nonatomic) FromWhere  from;

#3


引用 2 楼 zhanglei5415 的回复:
可定义一个枚举属于用于区分是来自哪个控制器。
typedef NS_ENUM(int, FromWhere) {
       FromA,
       FromB,
};

//////定义一个属性
@property (nonatomic) FromWhere  from;

又是你啊,谢谢。怎么判断啊,对于我这新手,你的回答能明白意思,无从下手啊。这个枚举里的FromA,FromB是这个FromeWhere的实例吗,是在AController.h里定义吗,判断方法怎么写啊?

#4


引用 3 楼 djl100 的回复:
Quote: 引用 2 楼 zhanglei5415 的回复:

可定义一个枚举属于用于区分是来自哪个控制器。
typedef NS_ENUM(int, FromWhere) {
       FromA,
       FromB,
};

//////定义一个属性
@property (nonatomic) FromWhere  from;

又是你啊,谢谢。怎么判断啊,对于我这新手,你的回答能明白意思,无从下手啊。这个枚举里的FromA,FromB是这个FromeWhere的实例吗,是在AController.h里定义吗,判断方法怎么写啊?

是我啊, ios如何判断从那个Contoller跳转过来的。
在AController 中来声明枚举,属性也定义在AController 中。 你上面提到A,B视图使用的都是Acontroller,那么在实例化时就可以设置这个属性来区别了。如

///////实例化A
AController *a = [AController new];
a.FromWhere = FromA;

///////实例化B
AController *b = [AController new];
b.FromWhere = FromB;

///////判断是A or B
if (self.FromWhere  == FromA) {
          ////////from a
}else {
        /////from b
}

#5


手打的有个错误,更正一下
a.FromWhere = FromA 
应该是
a.from = FromA ;   //////枚举定义的是from ,呵呵
b.from = FromB;

#1


刚学ios开发做一个收藏商品的功能,我就存在NSUserDefaults中了,存的是一个数组。这样做好不好。

#2


可定义一个枚举属于用于区分是来自哪个控制器。
typedef NS_ENUM(int, FromWhere) {
       FromA,
       FromB,
};

//////定义一个属性
@property (nonatomic) FromWhere  from;

#3


引用 2 楼 zhanglei5415 的回复:
可定义一个枚举属于用于区分是来自哪个控制器。
typedef NS_ENUM(int, FromWhere) {
       FromA,
       FromB,
};

//////定义一个属性
@property (nonatomic) FromWhere  from;

又是你啊,谢谢。怎么判断啊,对于我这新手,你的回答能明白意思,无从下手啊。这个枚举里的FromA,FromB是这个FromeWhere的实例吗,是在AController.h里定义吗,判断方法怎么写啊?

#4


引用 3 楼 djl100 的回复:
Quote: 引用 2 楼 zhanglei5415 的回复:

可定义一个枚举属于用于区分是来自哪个控制器。
typedef NS_ENUM(int, FromWhere) {
       FromA,
       FromB,
};

//////定义一个属性
@property (nonatomic) FromWhere  from;

又是你啊,谢谢。怎么判断啊,对于我这新手,你的回答能明白意思,无从下手啊。这个枚举里的FromA,FromB是这个FromeWhere的实例吗,是在AController.h里定义吗,判断方法怎么写啊?

是我啊, ios如何判断从那个Contoller跳转过来的。
在AController 中来声明枚举,属性也定义在AController 中。 你上面提到A,B视图使用的都是Acontroller,那么在实例化时就可以设置这个属性来区别了。如

///////实例化A
AController *a = [AController new];
a.FromWhere = FromA;

///////实例化B
AController *b = [AController new];
b.FromWhere = FromB;

///////判断是A or B
if (self.FromWhere  == FromA) {
          ////////from a
}else {
        /////from b
}

#5


手打的有个错误,更正一下
a.FromWhere = FromA 
应该是
a.from = FromA ;   //////枚举定义的是from ,呵呵
b.from = FromB;