• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > iOS基础控件关于iOS里IBOutlet对象的内存管理

iOS基础控件关于iOS里IBOutlet对象的内存管理

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了iboutlet,ios 基础控件,ios ui控件,ios10控件,ios时间控件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:iOS基础控件 关于iOS里IBOutlet对象的内存管理
描述:

table是和xib绑定的对象,在vc释放时打印_table的引用数居然是2,哪位高手能解答一下

环境:xcode5 sdk7

@interface testViewController : UIViewController {

}

@property (retain, nonatomic) IBOutlet UITableView *table;
@end 
@implementation testViewController
- (void)dealloc {
    [_table release];
    [super dealloc];
    NSLog(@"%d",[_table retainCount]);
}
@end

解决方案1:

Nib Files

你需要了解nib以及outlet的工作方式:当加载nib文件的时候, table会被初始化,这时候它的retain count是1, 然后建立nib文件里对象的连接,这时候会调用到你定义的属性的set方法, 因为你定义成了retain, 所以这时候table的retain count变成了2, 属性的getter/setter会用到autorelease,这时候就会变成3!

推荐IBoutlet的属性定义成assign(weak)就可以了!

其实你不需要在意retain count:“This method is of no value in debugging memory management issues. Because any number of framework objects may have retained an object in order to hold references to it, while at the same time autorelease pools may be holding any number of deferred releases on an object, it is very unlikely that you can get useful information from this method.”


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • iOS基础控件关于iOS里IBOutlet对象的内存管理

相关文章

  • 2017-06-05 IOS微信第三方登录iOS打开链接时出现,请在微信客户端打开链接
  • 2017-06-05 JSPatch在替换方法的过程中,也就是runtime的过程中是如何拿到实例对象的?
  • 2017-06-05 用swift在做的一个DEMO,一直报内存泄漏的错误,怎么解决?
  • 2017-06-05 tableView中只不显示数据源的前几个,稍微向下拖拽就会显示完全,什么原因?
  • 2017-06-05 关于彼岸花的图片关于objc_msgSend的两个隐藏参数
  • 2017-06-05 错错错一错再错IOS网络链接错误码1003,请问是什么情况?
  • 2017-06-05 内存优化地图内存优化讨论
  • 2017-06-05 iOS基础控件关于ios的表示图问题,UITableView
  • 2017-06-05 UITableViewreloadData之后,section区头的位置变化
  • 2017-06-05 (swift)iOS开发单元测试,大家开发过程中常用吗,网上资料看了不少,但还是没明白怎么使用,怎么实战呢?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 混合开发中native和web之间如何传递token
    • 想请教下有云端一体的概念
    • 会声会影10安装教程podupdate后会自动安装未知的依赖库
    • 诗经中关于爱情的诗c++中关于boolalpha用法问题
    • 我一个tableView滑动到底部,但是总是没有滑动到最底部,会有一小段没滑动下去
    • js代码怎么用ios返回不执行js怎么解决?
    • Mysql导入sql在进行导入融云后,commend+B后编译失败
    • iosNSString字符串转换为16进制字符串,如何转换?
    • iOS从服务器获取推流地址在demo中使用报错
    • chromeframe关于iOS创建自己的framework

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有