`
muyu114
  • 浏览: 135221 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

@property和@synthesize浅解

 
阅读更多
@property是一个属性访问声明,扩号内支持以下几个属性:
1,getter=getterName,setter=setterName,设置setter与getter的方法名
2,readwrite,readonly,设置可供访问级别
2,assign,setter方法直接赋值,不进行任何retain操作,为了解决原类型与环循引用问题
3,retain,setter方法对参数进行release旧值再retain新值,所有实现都是这个顺序(CC上有相关资料)
4,copy,setter方法进行Copy操作,与retain处理流程一样,先旧值release,再Copy出新的对象,retainCount为1。这是为了减少对上下文的依赖而引入的机制。
5,nonatomic,非原子性访问,不加同步,多线程并发访问会提高性能。注意,如果不加此属性,则默认是两个访问方法都为原子型事务访问。锁被加到所属对象实例级


@synthesize xxx;来实现实际代码
分享到:
评论

相关推荐

    Objective-C中的@property和@synthesize用法详解

    相信每个初学者对@property和@synthesize都感到非常的陌生,在此给大家分享下我的自己的理解,有不当之处,还望多多指教。详细说明文章在下面连接http://blog.csdn.net/comeontom/article/details/7455459

    iOS开发中属性 property 和 synthesize 详解

    ### iOS开发中属性property和synthesize详解 #### 一、引言 在iOS开发过程中,`@property` 和 `@synthesize` 是两个非常重要的概念。它们不仅简化了代码编写过程,提高了开发效率,还增强了程序的可维护性。本文将...

    OC-模型的Setter,Getter的由来,@property的由来

    @property还可以与@synthesize关键字一起使用,但现代的Xcode版本默认已经为@property声明的属性自动生成了对应的实例变量和存取方法,所以我们通常不再需要显式地使用@synthesize。 此外,@property还支持更多的...

    Objective-c解析XML封装

    @property (nonatomic, retain) NSMutableString *currentResult; @property (nonatomic, retain) NSMutableDictionary *map; @property (nonatomic, retain) NSMutableArray *list; -(NSMutableDictionary *)...

    IOS开发之@property的详细介绍

    在iOS开发中,`@property` 是Objective-C中的一个关键字,用于声明类的实例变量(ivar)并自动合成存取方法(setter和getter)。通过使用`@property`,开发者可以方便地控制实例变量的访问权限、内存管理策略、线程...

    举例讲解Objective-C中@property属性的用法

    在Objective-C中,`@property` 是一种声明属性的关键字,它允许你在类接口中定义对象的特性,如...理解`@property` 和`@synthesize` 是学习Objective-C的重要部分,因为它们极大地简化了对象属性的管理和内存管理。

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

    在iOS开发中,了解`@property`和`ivar`的区别是非常基础且重要的。`@property`和`ivar`都是Objective-C中用于管理类实例变量的方式,但它们在使用上有所差异,提供了不同的功能和灵活性。 首先,`ivar`(实例变量)...

    Objective-c对象组装XML

    @synthesize objectName; @synthesize lvUp; @synthesize root; @synthesize buildEnd; -(NSData *)objctPackage:(NSMutableDictionary *)object objectName:(NSString *)name xmlTemplateName:(NSString *)...

    Objective-C学习心得

    9. **setter/getter**: `@property` 用于声明对象属性,`@synthesize` 自动生成对应的存取方法。 10. **protocol**: 协议定义了一组必须或可选的方法签名,实现了协议的类需要提供这些方法的实现。 11. **delegate...

    Objective-C简单继承代码

    @property NSString *name; // 属性,表示人的姓名 @property NSInteger age; // 属性,表示人的年龄 - (void)sayHello; // 方法,表示人能说“你好” @end @implementation Person @synthesize name, age; - ...

    OC封装继承多态演示

    在OC中,我们可以使用`@interface`和`@implementation`来定义和实现类,通过`@property`来声明属性,并使用方法来访问和修改这些属性。例如: ```objc @interface Person : NSObject { NSString *name; NSInteger...

    OC 协议(取值)Demol.zip

    @property (nonatomic, assign) NSInteger myProperty; @end ``` 在这个例子中,`MyProtocol`定义了一个名为`myMethod`的方法和一个名为`myProperty`的属性。遵循`MyProtocol`的类需要提供这些成员的实现。 接下来...

    深入浅出Objective-C 源代码 第一部分

    `@property`关键字用于声明属性,`@synthesize`则自动为属性生成getter和setter方法。 接下来,我们要提到协议(Protocol)。Objective-C的协议类似于Java和C#的接口,定义了一组方法签名,但不提供实现。协议常...

    objective-c小技巧

    1. 使用@property和@synthesize声明一个成员变量,给其赋值是时要在前面加上"self.",以便调用成员变量的setmember方法。 直接调用成员变量并且给其赋值:member=[NSString stringWithFormat:@””];将不执行...

    ios_assign,retain和copy详解

    在iOS开发中,Objective-C语言提供了@property关键字来声明属性,并且可以在属性声明时指定不同的内存管理行为,主要涉及到assign、retain和copy这三个关键字。为了深入理解这三者的区别,首先需要了解Objective-C的...

    8.1《iOS开发笔试题600道-笔试手写篇》(2).pdf

    在使用@property声明属性时,默认情况下,你需要提供这些属性的实例变量和内存管理方法(setter和getter)。但你也可以通过使用@sythesized关键字来告诉编译器你将手动实现这些方法。这经常用在当你需要自定义setter...

    ios_自定义图文混排走马灯.txt

    @property (nonatomic, retain) NSMutableArray *showTextsList; @property (nonatomic, assign) int showLap; - (void)calculateShowFrame; @end ``` 1. **接口定义**:`PMarquee`类继承自`UIView`,并定义了两...

Global site tag (gtag.js) - Google Analytics