ios-在ARC的@property使用

问题描述

在ARC的@property使用
/ .h
@property ( strong, nonatomic ) NSString *note;

// .m
@synthesize note = _note;

- ( id ) initWithNote: ( NSString * )note {

    self = [ super init ];
    if ( self ) {
        _note = note;   // _note is just a instance variable.
        self.note = note;   // 'self.note = note;' is using setter method.
        return self;
    }
    return nil;
}

@property ( strong, nonatomic ) NSString *note; 影响setter和getter方法,默认情况下,ARC中变量是 __strong类型。

那么, _note = note;self.note = note; 的区别在哪里?除了strong,非ARC的retain也会有影响。

解决方案

你看一下这个的使用:
http://www.cnblogs.com/linyawen/archive/2012/06/11/2544482.html

时间: 2025-01-03 17:13:11

ios-在ARC的@property使用的相关文章

iOS基础知识之@property 和 Ivar 的区别_IOS

@property 属性其实是对成员变量的一种封装.我们先大概这样理解: @property = Ivar + setter + getter Ivar Ivar可以理解为类中的一个变量,主要作用是用来保存数据的. 我们不妨来看个例子,通过下边的例子能够很清楚的解释这两个东东: 我们新建一个Person类 @interface Person : NSObject { NSString *name0; } @property(nonatomic,copy)NSString *name1; @end

ios-有关IOS使用ARC开发问题

问题描述 有关IOS使用ARC开发问题 想问一个特别弱的问题,如果在一个循环中创建的对象什么时候被release. ARC中. while(true){ NSData *data = [NSData dataWithBytes:buff length:size]; } 这时的*data什么时候release? 解决方案 释放掉buff,data就释放了 解决方案二: 循环结束, 等到函数再次调度就会检查内存,释放不需要的内存

iOS自学笔记--outlet, @property

照猫画虎一两个程序后.也就是画了几个控件,可能会对例子中的一些陌生玩意儿产生疑惑,比如,什么是outlet. 什么是outlet? Apress的书有这么一句话: Absolutely right. Our controller class can refer to objects in the nib file by using a special kind of instance variable called an outlet. Think of an outlet as a point

iOS ARC 内存管理要点

前言 在讨论 ARC 之前,我们需要知道 Objective-C 采用的是引用计数式的内存管理方式,这一方式的特点是: 自己生成的对象自己持有.比如:NSObject * __strong object = [NSObject alloc] init];. 非自己生成的对象自己也能持有.比如:NSMutableArray * __strong array = [NSMutableArray array];. 自己持有的对象不再需要时释放. 非自己持有的对象自己无法释放. 而 ARC 则是帮助我们

ios-关于iOS中@property和@synthesize问题求教

问题描述 关于iOS中@property和@synthesize问题求教 .h中代码 @property(retain,nonatomic) NSMutableArray *arr; .m中代码 @synthesize arr: 如果是这样的话,在.m中使用_arr 就会报错,说_arr没有申明的错. 但是如果.m中的代码改为 @synthesize arr = _arr; 那么使用_arr 就不会报错. 这是为什么呢?? 解决方案 1.之前一直以为属性@property是不需要实例化的.所以没

详解iOS应用开发中的ARC内存管理方式_IOS

提示:本文中所说的"实例变量"即是"成员变量","局部变量"即是"本地变量" 零.简介ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain.release.autorelease语句.你不再需要担心内存管理,因为编译器为你处理了一切 注意:ARC 是编译器特性,而不是 iOS 运行时特性(除了weak指针系统),它也不是类似于其它语言中的垃圾收集器.因此 ARC 和

iOS开发之UIPopoverController

1.概述 是iPad开发中常见的一种控制器(在iPhone上不允许使用),跟其他控制器不一样的是,它直接继承自NSObject,并非继承自UIViewController,它只占用部分屏幕空间来呈现信息,而且显示在屏幕的最前面. 2.使用步骤 要想显示一个UIPopoverController,需要经过下列步骤: 第一步:设置内容控制器 由于UIPopoverController直接继承自NSObject,不具备可视化的能力.因此UIPopoverController上面的内容必须由另外一个继承

[iOS]Objective-C 实用特性索引(Objective-C Feature Availability Index)

[iOS]Objective-C 实用特性索引(Objective-C Feature Availability Index) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Objective

iOS App开发中通过UIDevice类获取设备信息的方法_IOS

UIDevice提供了多种属性.类函数及状态通知,帮助我们全方位了解设备状况.从检测电池电量到定位设备与临近感应,UIDevice所做的工作就是为应用程序提供用户及设备的一些信息.UIDevice类还能够收集关于设备的各种具体细节,例如机型及iOS版本等.其中大部分属性都对开发工作具有积极的辅助作用.下面的代码简单的使用UIDevice获取手机属性. 简单示例:设备相关信息的获取   NSString *strName = [[UIDevice currentDevice] name];   N

iOS获取和监测设备基本信息——UIDevice的使用

iOS获取和监测设备基本信息--UIDevice的使用 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 //获取当前设备单例 + (UIDevice *)currentDevice; //获取当前设备名称  @property(nonatomic,readonly,strong) NSString    *name;              // e.g. "My iPhone" //获取当前设备模式 @prope