![]() |
1
7
如果需要,可以用C样式声明全局变量或类变量。如果您希望同一个变量在uiviewcontroller的几个子类中可用,您可以在第一个控制器的.h文件中将其声明为外部变量,例如:
然后在.m文件中重新声明它,而不使用extern。
您不应该在其他.m或.h文件中重新声明它,但是您可以访问导入的所有文件中的变量。
|
![]() |
2
3
解决这个问题的一种简单但可重用且可扩展的方法是使用单例。 例如,声明一个名为SetupConfig的新类。 然后,您的setupconfig.h应该如下所示:
以及相应的setupconfig.m:
现在,在视图控制器实现中,您希望从以下位置访问mystring:
与使用全局C变量相比,单例方法具有许多优势。首先,不必反复声明全局变量。更重要的是,您的“全局”变量被封装在一个类中。合成属性getter/setter是从代码的其余部分提取实际变量的一种好方法。最后,这个实现可以很容易地集成到单元测试中。 |
![]() |
3
3
是的,有一个简单的方法来处理这个…… 你可以取一个全局变量 在delegate.h文件中声明变量:
在delegate.m文件中第二个
完成了。现在您可以在所有/任何需要的类中使用这个字符串变量。 使用此全局变量。 只需导入您的委托文件 做它的对象……
现在在你们班上。
现在,您可以通过这个对象在类中的任何地方访问它:
小心地跟着我的脚步走 我的手指疼得厉害, 我相信这肯定会帮助你….. 过上轻松的生活, |
![]() |
4
1
您可以使用一个单例实例,该实例可以从所有类中获得,它将处理您需要的所有信息。 |
![]() |
5
0
我不会太快回避数据封装,这是Objective-C的一个很好的特性。 如果您正在收集一些您认为是“设置”的内容,请考虑使用nsuserdefaults。 如果您的视图以结构化的方式进行,那么考虑创建一个“数据”类,不管您正在创建什么,然后将它从父视图传递到子视图,直到到达那里。(记住,“传递”不是一个昂贵的操作,这些东西保持在原位,你传递的是一个小指针) 如果您真的想要单件路由,请考虑将其设置为应用程序委托(已经存在的单件路由)的属性。 请记住,只有“传入”数据的路径提供了附加的优势,稍后,您可能需要多次收集该开始信息,并启动不同的可能的最后一个视图,而只传入不同的视图则很简单。如果你走的是全球路线,那么你就必须开始在你以前访问过的任何地方重新写作。 |
![]() |
6
0
|
![]() |
Lorenzo Zorri · 如何根据文本字段的内容动态调整其宽度? 9 月前 |
![]() |
Rashik · 为什么Spacer()会自动扩展我的VStack 1 年前 |
![]() |
lucycoco · 如何解决pod安装问题并成功运行pod安装? 1 年前 |
![]() |
Viktor Sec · 如何自动将字符串添加到Xcode字符串目录? 1 年前 |
![]() |
Rue Vitale · 定位UILabel 1 年前 |