首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ViewControllers作为实例变量

ViewControllers作为实例变量
EN

Stack Overflow用户
提问于 2013-11-08 03:56:44
回答 2查看 393关注 0票数 0

我有一个定制的viewController,它是根ViewController的一个实例变量。

每当按下按钮时,我都会以模态方式呈现它。因此,viewController可能会被多次提交和驳回。

显然,我只想分配一次init实例变量,因为每次取消模态viewController时都不会取消它,所以应该在按钮操作中使用这样的代码来确保它只分配一次吗?:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if(!myViewController)
{
    ViewController *myViewController = [[ViewController alloc] init];  
}
[self presentViewController:myViewController animated:YES completion:NULL];
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-08 04:09:41

在这些情况下,我通常使用惰性实例:

为ViewController声明一个属性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@property(nonatomic, strong) UIViewController *myViewController;

之后,您可以重写myViewController的get

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-(UIViewController*) myViewController {
    if(!_myViewController) {
        _myViewController = [[UIViewController alloc] init];
    }

    return _myViewController;
}

通过这种方式,您可以保证只实例化一次,并且在需要时始终存在。

注意

如果您总是使用self.myViewController,这将很好地工作。我认为一个很好的实践是,属性生成的iVars应该只在/getter中访问

票数 3
EN

Stack Overflow用户

发布于 2013-11-08 04:18:01

可以使用以下方法确保每次只激活视图控制器的一个实例。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if(myViewController) {
  [myViewController release];
   myViewController = nil;
}

myViewController = [[ViewController alloc] init];  

[self presentViewController:myViewController animated:YES completion:NULL];

您需要将myViewController作为类变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19858570

复制
相关文章
Python类变量和实例变量区别
类变量:定义在类里面,通过类名或对象名引用,如果是通过对象名引用,会先找有没有这个同名的实例变量,如果没有,引用到的才是类变量,类变量的更新,只能通过类名,形如 类名.a = 55 ,不要指望通过实例引用类变量来更新类变量
王大力测试进阶之路
2019/10/25
1.5K0
Shell 变量引用实例
初学 Shell 编程时,对变量各种引用使用不太熟悉,走了很多弯路,本文记录变量引用的一些用法,希望对大家有所帮助。
叨叨软件测试
2020/04/14
2.2K0
Python - 面向对象编程 - 类变量、实例变量/类属性、实例属性
https://www.cnblogs.com/poloyy/p/15178423.html
小菠萝测试笔记
2022/03/23
1.4K0
Python - 面向对象编程 - 类变量、实例变量/类属性、实例属性
C语言指针变量作为函数参数
自学气象人
2023/06/20
1180
C语言指针变量作为函数参数
Swift 5.2 将实例作为函数调用
Swift 5.2中的一个新功能是可以将类型实例作为函数调用(callAsFunction)。或者,如Swift Evolution 提案所述,“用户定义的标称类型的可调用值”。此函数的简短描述是,它允许您调用实现了callAsFunction方法的任何类型的实例,就好像它是一个函数一样。
韦弦zhy
2020/03/19
2.5K0
静态变量和实例变量的区别
静态变量是被static修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷贝;实例变量必须依存于某一实例,需要先创建对象然后通过对象才能访问到它。静态变量可以实现让多个对象共享内存。
唐怀瑟
2018/08/30
1.2K0
python类成员变量和实例成员变量
print 'need %f hour(s)'% (distance/self.speed)
用户7886150
2020/12/20
1.4K0
你会用“niHao”作为变量名吗?
Jeff Atwood 曾说:“想出好的命名的确很难,但是有难的道理,因为好的命名需要只用一两个单词出表达你的根本意思。”
fem178
2021/01/08
1.2K0
linux awk 内置变量实例
它处理文本的速度是快得惊人的,现在很多基于shell 日志分析工具都可以用它完成。特点是设计简单,速度表现很好,本文将介绍awk内置变量。
阳光岛主
2019/02/19
2.8K0
Java中静态变量(类变量)、实例变量、局部变量和成员变量
学习Java的过程中,一开始很容易被这些各种变量绕晕,这篇博客主要介绍了这几种变量之间的关系和区别。
用户8639654
2021/07/19
2.3K0
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制
.29.
2023/10/25
2200
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制
python中全局变量、局部变量、类变量、实例变量简析
因为python为动态语言,处理变量的方式与一些静态语言(比如C++)不大一样,在这里对这些变量进行小小的总结
用户7886150
2020/11/23
1.8K0
OC知识--成员变量(属性,实例变量)的相关知识
本文首发于我的个人博客:『不羁阁』 https://bujige.net 文章链接:https://bujige.net/blog/iOS-Member-variable.html 1. 成员变量介绍 1. 成员变量解释 我们把Objective-C中写在类声明的大括号中的变量称之为成员变量(也称为属性,实例变量)。 举例: @interface Iphone : NSObject { // 成员变量声明 int _cpu; // cup 0 int _
程序员充电站
2018/05/31
2.6K0
Django模板引擎中变量作为属性值调用
作者:matrix 被围观: 2,268 次 发布时间:2019-05-16 分类:Python 零零星星 | 4 条评论 »
HHTjim 部落格
2022/09/26
1.6K0
Django模板引擎中变量作为属性值调用
【说站】python类变量和实例变量的对比
1、类变量是所有对象共有的,其中一个对象改变其价值,其他对象得到的是改变后的结果。
很酷的站长
2022/11/23
8310
【说站】python类变量和实例变量的对比
java中类变量和实例变量的实质区别
相对于static(静态的)或说类的, 本章开始提到的都是instance(实例的)或说对象的。 每个对象都有自己的一份儿对象域或实例域,相互之间没关系, 不共享。 我们可以从对象中访问实例变量。
马克java社区
2021/03/15
2K0
java中类变量和实例变量的实质区别
把https地址作为变量拼接在link/script 内部
下面是之前写的一个交互的例子,直接拿过来用一用啦,最主要的在于将把https地址作为变量拼接在link/script 内部,其余的都是次要的。
王小婷
2020/12/29
8330
Java 菜鸟入门 | Java中的静态变量、实例变量、局部变量和成员变量
学习 Java 的过程中,一开始很容易被这些各种变量绕晕,这篇博客主要介绍了这几种变量之间的关系和区别。
村雨遥
2022/11/30
1.5K0
C# WCF 完整实例,winform 窗体作为 宿主
上一次提到,我们的WCF程序宿主是发布到IIS上面的。虽然这样做未尝不可,不过不便于我们进行“开始”或“停止”WCF服务的操作。所以再次尝试了编写以窗体应用程序作为WCF服务宿主的方式,并取得了成功。
庞小明
2018/03/07
2.4K0
C# WCF 完整实例,winform 窗体作为 宿主
【说站】java实例变量是什么?
例子变量的值至少应引用一种方法、结构方法或句子块,使外部能够通过这些方法获得例子变量信息;
很酷的站长
2022/11/23
3930
【说站】java实例变量是什么?

相似问题

ViewControllers和视图实例

12

如何管理实例化viewControllers

10

类实例到所有ViewControllers

27

实例变量作为其他实例变量的函数

10

数组作为实例变量。

33
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文