`
lovebirdegg
  • 浏览: 175496 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

nonatomic的作用

阅读更多
@property(nonatomic, retain) UITextField *userName编译时自动生成的代码
- (UITextField *) userName {
    return userName;
}

- (void) setUserName:(UITextField *)userName_ {
    [userName release];
    userName = [userName_ retain];
}

@property(retain) UITextField *userName自动生成的代码
- (UITextField *) userName {
    UITextField *retval = nil;
    @synchronized(self) {
        retval = [[userName retain] autorelease];
    }
    return retval;
}

- (void) setUserName:(UITextField *)userName_ {
    @synchronized(self) {
        [userName release];
        userName = [userName_ retain];
    }
}


http://stackoverflow.com/questions/588866/objective-c-properties-atomic-vs-nonatomic
分享到:
评论
1 楼 purcharse 2010-09-02  
设置器应该如下写法吧

- (void) setUserName:(UITextField *)userName_ { 
    [userName_ retain]; 
    [userName release]; 
    userName = userName_; 


相关推荐

    Ios retain assign区别

    本文将详细解释`retain`和`assign`的区别,以及其他相关的属性修饰符如`readonly`、`readwrite`、`nonatomic`等,帮助读者更好地理解这些关键字的作用及其应用场景。 #### `retain`与`assign` **1. `retain`** - *...

    ios-FTYCustomSetting.zip

    三个子类的作用就是作为cell右边的内容,当然你更多样式,只要继承父类,实现父类的方法,或者你重写一个做改变。 另外注意的是:每一个controller都是继承一个FTYBaseSettingController(UITableViewController...

    Objective-C 2.0 with Cocoa Foundation--- 7,对象的初始化以及实例变量的作用域

    在Objective-C中,对象的初始化和实例变量的作用域是编程中的关键概念,对于理解和创建健壮的iOS和macOS应用程序至关重要。 首先,让我们深入理解对象的初始化过程。在Objective-C中,初始化通常涉及`init`方法。每...

    OC Extension YSCountDown(cell倒计时-用于秒杀活动).zip

    //block的作用是 倒计时结束出去刷新页面 未开始->进行中->活动结束 @property (nonatomic,copy) YSCountDownBlock block; - (void)destoryTimer; ///每秒走一次,回调block dataList 倒计时时间戳(未来的结束时间...

    OC 协议(取值)Demol.zip

    协议在多方面发挥着重要作用,包括定义对象间的交互方式、支持类之间的多态性以及实现类似Java的接口概念。 协议在Objective-C中的声明通常以`@protocol`关键字开始,如: ```objc @protocol MyProtocol - (void)...

    LKDBHelper外键

    本篇将深入探讨LKDBHelper中的外键概念及其在实际应用中的作用。 首先,我们需要理解什么是外键(Foreign Key)。在关系型数据库中,外键是一种约束,用于建立和加强两个表之间的联系。它是一个或一组字段,其值...

    iOS getter setter方法

    本文将深入探讨getter和setter的概念、作用以及如何在代码中使用它们。 首先,getter方法是一个无参数的方法,返回一个对象的属性值。setter方法则是接受一个参数,用于改变对象的属性值。在Objective-C中,我们...

    labelGroupAndStream

    /**设置默认选择第几个,需要小于 最小数据组的count,默认是 0 第一个在 isDefaultSel 为 YES 时才起作用*/@property (assign, nonatomic) NSInteger defaultSelectIndex;/**设置该属性时 defaultSelectIndex 则...

    iOS笔试题011

    iOS 中的属性可以分为六种:readwrite、readonly、assign、retain、copy、nonatomic。每种属性都有其特定的作用和使用场景: * readwrite:同时生成 get 方法和 set 方法的声明和实现。 * readonly:只生成 get ...

    代码生成器-JSON转OBJC实体类

    这就是JSON到OBJC实体类代码生成器的作用所在。 这个工具会分析输入的JSON数据结构,自动生成相应的Objective-C实体类,这些实体类通常包含了属性(对应JSON中的键)和getter/setter方法。例如,如果JSON中有如下...

    ios-非常灵活的HUD.zip

    显示时长minimumDelayDismissDuration作用于非加载样式的视图:XNRefreshViewStyleInfoImage、XNRefreshViewStyleError、XNRefreshViewStyleSuccess; 显示时长maximumDelayDismissDuration作用与加载样式的视图:...

    斯坦福大学开放课程:iOS开发教程2010年秋(Lecture 12)

    `@dynamic`的关键作用在于,它利用运行时机制使对象能够拦截原本不会响应的消息,并将这些消息转化为对`valueForKey:`和`setValue:forKey:`方法的调用。 3. **使用`NSFetchRequest`查询对象** `NSFetchRequest`...

    custom progress bar for iphone&ipad(转)

    首先,我们要理解ProgressBar.m和ProgressBar.h这两个文件的作用。在Objective-C中,.h文件是头文件,它定义了类的接口,包括类名、属性(properties)和方法(methods)。而.m文件是实现文件,用于编写类的方法实现...

    ObjC.pdf官方文档

    - 示例:`@property (nonatomic, assign) int age;` #### 四、对象的分配与初始化 **1. 分配内存:** - 使用`alloc`方法为对象分配内存。 - 示例:`id obj = [ClassName alloc];` **2. 初始化对象:** - 分配内存...

    RuntimeTest添加属性

    这就是`objc_setAssociatedObject`和`objc_getAssociatedObject`发挥作用的地方。 3. **objc_setAssociatedObject** 这个函数用于将值与指定的对象关联,并指定关联策略。它的四个参数分别是: - `object`: 要...

    iOS 泛型中nullable、null resettable、null kindof 用法详解

    接着是`nonnull`关键字,它的作用与`nullable`相反,表示一个对象类型变量或方法的返回值绝不会是`nil`。这在你确定对象总是会被初始化且不会变为`nil`时使用。同样,`nonnull`也有三种书写方式: ```objc // 方式...

    实体类传值

    可以在导航控制器的栈中存储一个临时变量,或者在全局作用域内创建一个静态变量,然后在两个视图控制器之间共享。这种方法简单但不推荐,因为它可能导致数据同步问题和内存泄漏。 6. **模型持久化**:如果数据需要...

    IOS实现的简单画板功能

    @property (nonatomic, retain) UIColor *pathColor; @end ``` 接下来,我们需要创建一个DrawView子类,继承自UIView,作为画板的基础。在这个子类中,我们可以定义画线的宽度、线条颜色,以及加载背景图片等方法。...

    swift-iOS代理模式DemoObjc与Swift均有举例

    代理模式在iOS开发中的核心作用是提供一种松散耦合的方式,使得对象能够通知其他对象其状态或行为的改变。 首先,让我们从Objective-C的角度来理解代理模式。在Objective-C中,代理通常通过遵循特定的协议...

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

    Ivar可以理解为类中的一个变量,主要作用是用来保存数据的。 我们不妨来看个例子,通过下边的例子能够很清楚的解释这两个东东: 我们新建一个Person类 @interface Person : NSObject { NSString *name0; } @...

Global site tag (gtag.js) - Google Analytics