`
leearnold
  • 浏览: 68623 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Object-C Strong and Weak

 
阅读更多

 


strong vs weak 

 

 

 

  • strongkeep this in the heap until I don’t point to it anymore” I won’t point to it anymore if I set my pointer to it to nil.Or if I myself am removed from the heap because no one strongly points to me!
  • weak keep this as long as someone else points to it strongly” If it gets thrown out of the heap, set my pointer to it to nil automatically (if user on iOS 5 only).
  • This is not garbage collection!  It’s way better. It’s reference counting done automatically for you.
  • Finding out that you are about to leave the heap A special method, dealloc, is called on you when your instance’s memory is freed from the heap. You will rarely ever have to implement this method. It’s “too late” to do much useful here.
- (void)dealloc
{
        [[NSNotificationCenter defaultCenter] removeObserver:self]; 
}
 
分享到:
评论

相关推荐

    Object-C语言教程0220.zip

    在ARC环境下,`strong`和`weak`关键字分别表示强引用和弱引用。强引用可能导致循环引用,而弱引用则避免了这种情况。 ### 四、Foundation框架 Objective-C的Foundation框架提供了大量基础类,如字符串(NSString)...

    Object-C语言教程&案例&相关项目资源

    - **引用计数**: 使用ARC(Automatic Reference Counting)自动管理内存,通过`strong`、`weak`、`unsafe_unretained`等关键字控制对象的生命周期。 - **NSAutoreleasePool**: 在循环或长时间运行的任务中使用,以...

    Object-C期末复习_object-c_

    了解`strong`、`weak`、`assign`、`unowned`等引用计数属性非常重要。 8. **KVC(Key-Value Coding)与KVO(Key-Value Observing)**: - KVC允许间接访问对象的属性,而KVO则提供一种机制来监听并响应属性的改变...

    Object-C语言教程-提供了 Objective-C 的基本语法和一些示例,希望能够帮助你快速入门 Objective-C

    作为C语言的一个超集,Objective-C允许开发者直接使用C语言代码。此外,它还借鉴了C++的一些特性,尽管它并非C++的直接子集。 Objective-C由苹果公司在其操作系统macOS和iOS的开发中广泛使用,是这两个平台上应用...

    Object-C-Object-C编程规范.zip

    开发者需要理解所有权语义,合理使用`strong`、`weak`、`copy`等关键字。 3. **接口定义**:在`.h`头文件中声明类、协议、属性和方法,遵循“Tell, Don't Ask”原则,尽量通过消息传递而非直接访问成员变量。 4. *...

    object-C内存管理

    4. Strong与Weak引用: - `strong`:默认的引用属性,类似于非ARC下的`retain`,增加对象的引用计数。 - `weak`:不增加对象的引用计数,当对象的引用计数变为0时,弱引用将自动设为`nil`,防止循环引用。 5. ...

    Object-C教程

    Object-C是一种面向对象的编程语言,它是在C语言的基础上增加了面向对象的特性。Object-C最初由Stepstone公司于1980年代初开发,后来被苹果公司采用并进一步发展成为其主要的开发语言之一。在iOS和macOS的应用开发中...

    Object-C复习_object-c_复习_

    **Object-C复习全面指南** Objective-C(简称Obj-C)是一种基于C语言的、面向对象的编程语言,主要用于苹果的iOS和macOS操作系统开发。作为Apple的首选编程语言,理解并熟练掌握Objective-C对于iOS和macOS应用开发...

    Object-C 学习笔记

    3. **强引用(Strong)、弱引用(Weak)和无主引用(Unowned)**:ARC中提供了不同类型的引用,以避免循环引用问题。 ### 四、Objective-C与Cocoa Touch 在iOS开发中,Objective-C常常与Cocoa Touch框架结合使用,...

    object-c 基础教程

    它是C语言的超集,增加了面向对象的特性,并引入了Smalltalk的消息传递机制。本教程旨在为初学者提供一个全面且详细的入门指南,帮助他们快速掌握Objective-C的基本概念和实践技能。 ### 一、Objective-C 的语法...

    ios object-c 面试试题 及答案

    了解`retain`、`release`、`autorelease`等概念,以及`strong`、`weak`、`unowned`等属性关键字在ARC下的作用也很重要。 7. **#import与#include的区别**: `#import`是Objective-C特有的,提供了头文件的互锁机制...

    Rebuild_Strong-Weak-Distribution-Alignment-for-Adaptive-Object-Detection:这是纸的个人重建

    本文将围绕“Rebuild_Strong-Weak-Distribution-Alignment-for-Adaptive-Object-Detection”这一主题,探讨一种用于自适应对象检测的新方法——强弱分布对齐。 自适应对象检测的目标是让模型在面对不同环境、光照、...

    iPhone 应用开发中Object-C 内存管理--千锋培训

    为了解决这个问题,Objective-C引入了弱引用(weak reference)和强引用(strong reference)的概念,以及ARC(Automatic Reference Counting)技术,自动处理对象间的引用关系,防止循环引用的发生。 在实际开发中,理解...

    object-c内存管理与实例

    - 强引用(Strong Reference)与弱引用(Weak Reference):在ARC中,可以使用`strong`和`weak`关键字来声明变量。`strong`是默认的,表示强引用;`weak`表示弱引用,不增加对象的引用计数,当对象被其他强引用全部...

    object-c课件

    Objective-C是在C语言基础上扩展而来的,它引入了Smalltalk的面向对象特性,如类、消息传递等。Objective-C的主要特点包括: 1. **动态类型**:在运行时确定对象类型,提供了更大的灵活性。 2. **消息机制**:通过...

    iphone开发比较实用,object-c注意事项,能提高不少

    理解引用计数的工作原理,以及何时使用`strong`、`weak`、`assign`等关键字,对于防止内存泄漏至关重要。 7. **Category的分类**:除了通常的类别,还可以创建匿名类别(Private Category),在不公开头文件的情况...

    Object C扫描版PDF

    Objective-C(简称Object C)是一种面向对象的编程语言,它是苹果公司开发的C语言的超集,主要用于iOS和macOS的应用程序开发。Objective-C 2.0是在原版Objective-C的基础上进行的一次重大升级,主要提升了性能并引入...

    ios object c

    Objective-C是一种面向对象的编程语言,它是在C语言的基础上发展而来的,并且增加了面向对象的功能。Objective-C是苹果公司开发iOS、macOS等操作系统的主要编程语言之一。通过Objective-C,开发者可以构建出功能强大...

    oop object , for apple ios developer

    通过使用`strong`、`weak`等关键字,可以有效地管理对象的生命周期。 - **Blocks**:Block是Objective-C中的一个重要特性,类似于C语言中的匿名函数。它们可以作为方法参数传递,并且能够捕获外部作用域内的变量。 -...

    使用objective-c实现的简易计算机

    了解何时增加和减少对象的引用计数,以及`strong`、`weak`等关键字的使用,是开发中必不可少的知识。 8. **编译与运行**:在Xcode中,你需要配置项目的Target(目标平台)、Deployment Target(最低支持版本)等...

Global site tag (gtag.js) - Google Analytics