ios-NSNotificationCenter

问题描述

NSNotificationCenter
请问一下,添加一个observer会不会增加对象的引用计数?
如果增加,是不是ARC可以对observer进行删除?

如果不增加,应该怎么删除observer?

多谢

解决方案

使用ARC也应该删除observer,创建dealloc 方法,这样删除:

-(void)dealloc {    [[NSNotificationCenter defaultCenter] removeObserver:self];}

也可以不用[super dealloc];不用super用普通方法。

时间: 2024-08-31 07:22:58

ios-NSNotificationCenter的相关文章

IOS中通知中心(NSNotificationCenter)的使用总结

IOS中通知中心NSNotificationCenter应用总结 一.了解几个相关的类 1.NSNotification 这个类可以理解为一个消息对象,其中有三个成员变量. 这个成员变量是这个消息对象的唯一标识,用于辨别消息对象. @property (readonly, copy) NSString *name; 这个成员变量定义一个对象,可以理解为针对某一个对象的消息. @property (readonly, retain) id object; 这个成员变量是一个字典,可以用其来进行传值

iOS Delegate NSNotificationCenter

----------------------------------------------------------------------------------Delegate---------------------------------------------------------------------------------------- 1:声明代理 @protocol UICustomHTMLEditorDelegate <NSObject> - (void)getHTML

xcode反汇编调试iOS模拟器程序(四)自动断点应用之NSNotificationCenter

知道怎么查看后,先看看有什么实际应用,拿NSNotificationCenter来做实践吧. 首先在某个容易进入的地方加断点,并停在那,例如main函数.在gdb或lldb输入命令,手工添加断点.如下图: 输入的命令如下: b -[NSNotificationCenter addObserver:selector:name:object:] b -[NSNotificationCenter addObserverForName:object:queue:usingBlock:] 然后contin

ios编程:NSNotificationCenter多线程的情况

In a multithreaded application, notifications are always delivered in the thread in which the notification was posted, which may not be the same thread in which an observer registered itself. 这句话是说,notification都是在post时的线程中被传递和接收,即使add observer时是 在另外一

iOS下的实际网络连接状态检测

序言 网络连接状态检测对于我们的iOS app开发来说是一个非常通用的需求.为了更好的用户体验,我们会在无网络时展现本地或者缓存的内容,并对用户进行合适的提示.对绝大部分iOS开发者来说,从苹果示例代码改变而来的各种Reachablity框架是实现这个需求的普遍选择,比如这个库.但事实上,基于此方案的所有实现,都无法帮助我们检测真正的网络连接状态,它们能检测的只是本地连接状态:这种情况包括但不限于如下场景: 1.现在很流行的公用wifi,需要网页鉴权,鉴权之前无法上网,但本地连接已经建立: 2.

iOS中 MPMoviePlayer 实现视频音频播放

版权声明:本文为博主原创文章,未经博主允许不得转载. iOS播放视频文件一般使用 MPMoviePlayerViewController 和 MPMoviePlayerController.前者是一个view,后者是个Controller.区别就是 MPMoviePlayerViewController里面包含了一个MPMoviePlayerController    注意:MPMoviePlayerViewController 必须   presentMoviePlayerViewContro

iOS开发系列--通知与消息机制

概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情.iOS中通知机制又叫消息机制,其包括两类:一类是本地通知:另一类是推送通知,也叫远程通知.两种通知在iOS中的表现一致,可以通过横幅或者弹出提醒两种形式告诉用户,并且点击通知可以会打开应用程序,但是实现原理却完全不同.今天就和大家一块去看一下如何在iOS中实现这两种机制,并且在文章后面会补充通知中心的内容避免初学者对两种概念的混淆. 本地通知 推送通

iOS视频功能模块的开发

iOS视频功能模块的开发 一.使用MPMoviePlayerController进行视频播放         MPMoviePlayerController是iOS中进行视频播放开发的一个控制类,里面涵盖了视频播放中大部分的需求功能,在使用这个框架时,需要导入头文件<MediaPlayer/MediaPlayer.h>. 1.初始化方法         MPMoviePlayerController可以播放网络视频,也可以播放本地视频,通过不同的URL来进行初始化,例如本地视频的初始化如下:

IOS中解决Keyboard遮盖输入的办法

一般来说,键盘遮挡主要有这么几种情况,一个是遮住UITextView,还有就是遮住UITextField,一 般来说,比较推荐在UIScrollView或者UITableView里加入textfield的控件.但是有时也许难免. 在UITextView中 这个在苹果官方文档中的项目中给出了做法,首先是注册观察者监听 UIKeyboardWillShow和WillHide事件 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear

IOS Reachability判断所请求服务器是否超时

开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息.如果没有处理它们,是不会通过Apple的审查的. Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法. 1.在你的程序中使用 Reachability 只须将该例程中的 Reachability.h 和 Reachability.m 拷贝到你的工程中. 2.然后将 SystemConfiguration.framework 添加进工程. 我使用的版本为 : Version: 2.2 我为Apple的例