从第四视图控制器目标c中的第一视图控制器访问字符串
Posted
技术标签:
【中文标题】从第四视图控制器目标c中的第一视图控制器访问字符串【英文标题】:Access string from firstviewcontroller in fourthviewcontroller objective c 【发布时间】:2017-09-12 06:16:08 【问题描述】:您好,我可以在fourthviewcontroller
中访问来自firstviewcontroller
的字符串吗?我使用了以下代码。但是当我转到fourthviewcontroller
时,字符串为空。
firstviewcontroller.m
#import "Fourthviewcontroller.h"
Fourthviewcontroller view = [[Fourthviewcontroller alloc] init];
view.devInText = devInput.text; //devInput is a UItextfield
NSLog(@"%@",view.devInText); // output is correct
fourthviewcontroller.h
@property (nonatomic, strong) NSString *devInText;
fourthviewcontroller.m
NSLog(@"%@",_devInText); // output displays null
【问题讨论】:
您正在分配并初始化您的视图,这就是它始终为空的原因 做一件事比较,NSLog(@"%@", view) 和self(在fourthviewcontroller.h中),让我知道有什么区别 您正在从 firstviewcontroller 导航到 Fourthviewcontroller ?? 显示更多代码,您如何从 firstviewcontroller 导航到 Fourthviewcontroller? 最好的方法是使用单例设计模式galloway.me.uk/tutorials/singleton-classes 【参考方案1】:我看到了两种方法:
-
创建字符串全局变量并从 VC1 及以后设置它
从 VC4 访问它(不是首选)。
在为变量实例化目标 VC 时传递值
从VC1 -> VC2 -> VC3 -> VC4,这样就可以得到需要的
VC4 中的数据。
【讨论】:
以上是关于从第四视图控制器目标c中的第一视图控制器访问字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何从第一个视图控制器中的第二个 UIView 控制器中删除 UINavigationBar label.text?
uitableview didselectrowatindex 仅适用于第一个表视图而不适用于同一视图控制器中的第二个表视图?
Objective C:从视图控制器访问变量到 NSObject