`
bengan
  • 浏览: 203762 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

iPhone:Objective-c 关于@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;  来实现实际代码

 
通俗理解:

@property 是类的属性变量的声明,也就是getter/setter函数,你可以用点(.)操作符号来存取变量。

@synthesize 是自动生成setter/getter函数,否则你得自己编写property变量的setter/getter的实现方法

原文:
http://blog.digcrazy.com/page/p/121
分享到:
评论

相关推荐

    iPhone开发资料之Objective-C语言简介

    Objective-C是一种面向对象的编程语言,它是C语言的超集,特别为苹果的iOS和macOS平台的软件开发而设计。Objective-C通过引入Smalltalk的影响,支持类、方法和属性等面向对象特性,使得程序员能够构建复杂的软件系统...

    From C++ to Objective-C

    1. **关键字**: Objective-C使用了一组特定的关键字来支持其面向对象的功能,例如`@interface`, `@end`, `@implementation`, `@synthesize`, `@property`, `@selector`, `@autoreleasepool`, `@try`, `@catch`, `@...

    Objective-C programming language 2.0

    通过@property关键字,可以声明属性,@synthesize关键字则会自动生成getter和setter方法,但在Objective-C 2.0之后,通常会使用@synthesize的默认实现。 6. **GCD(Grand Central Dispatch)**: 虽非Objective-C ...

    学习Objective-C: 入门教程

    ### 学习Objective-C:入门教程 ...虽然近年来Swift语言的出现和发展吸引了许多新的开发者,但Objective-C仍然是一门值得学习的重要语言,特别是在处理旧项目或需要与大量现有Objective-C代码集成的情况下。

    Objective-C_快速入门

    `@property`关键字声明属性,`@synthesize`关键字自动为属性生成getter和setter方法。 4. 类别(Category):Objective-C允许通过类别扩展已有的类,添加方法而无需继承。 二、内存管理 1. 保留计数(Retain ...

    Objecive-C语法与iPhone开发入门

    2. **类与对象**:Objective-C基于C语言,增加了类的概念。类是对象的蓝图,定义了对象的属性(ivar)和行为(方法)。对象是类的实例,通过`alloc`和`init`方法创建。 3. **类别(Category)**:Objective-C允许你...

    The Objective-C Programming Language

    Objective-C是一种通用、面向对象的编程语言,它是在C语言的基础上扩展而成的。Objective-C是苹果公司在开发macOS和iOS应用时的主要语言之一,尤其是在iOS开发初期。该语言的设计哲学强调了消息传递和动态类型。...

    Objective-C 速查手册 1.2 (ARC版)

    ### Objective-C 速查手册(ARC版):深入解析与应用 #### 一、概览 Objective-C是一种通用、面向对象的编程语言,是开发苹果iOS和macOS平台应用程序的主要语言之一。它在C语言的基础上增加了面向对象的功能,使得...

    从C++到Object-C.pdf

    #### 一、Objective-C与Cocoa简介 Objective-C是一种面向对象的编程语言,它基于C语言并添加了面向对象的特性。这种语言最初由Brad Cox在1980年代初开发,并在苹果公司的支持下成为Mac OS X和iOS操作系统的主要开发...

    Cocoa and Objective-C

    1. **Objective-C语言基础**:Objective-C是C语言的超集,增加了面向对象编程的特性,如消息传递、类、协议等。学习Objective-C时,你需要理解类的定义、继承、多态性以及如何通过消息传递实现方法调用。同时,了解`...

    Objective-C笔试及答案

    ### Objective-C笔试知识点详解 #### 一、OC中与`alloc`相反的方法 **知识点:** `dealloc` 方法 - **背景介绍:** 在Objective-C中,内存管理是非常重要的一个环节。`alloc` 方法用于分配内存,而`dealloc`方法则...

    iPhone 斯坦福大学教学课件

    - 学习关键字如`@interface`, `@implementation`, `@property`, `@synthesize`等的用法。 - 掌握动态类型和运行时机制在Objective-C中的作用。 2. **模型-视图-控制器(MVC)设计模式**: - MVC是iOS开发中广泛...

    Objective.C.for.Absolute.Beginners

    理解`@interface`, `@implementation`, `@property`, `@synthesize`, `#import`等关键字是学习的基础。 2. **Foundation框架**: 这是Objective-C的核心库,提供了大量用于构建应用程序的基本数据类型和功能。了解...

    iOS工程师培养计划

    - 属性的声明与实现:`@property`, `@synthesize`, `retain`, `nonatomic`, `assign`, `readonly`, `copy` - 指针和基本类型的认识:Objective-C中的数据类型仅有指针和基本类型,如`BOOL` - 协议和分类的使用:`...

    Objc (apple.com)

    - 需要深入理解 Objective-C 运行时机制的技术人员。 #### 文档结构 本文档分为以下几个部分进行讲解: - **介绍**:概述 Objective-C 的背景、目的以及文档组织方式。 - **运行时系统**:深入探讨 Objective-C 的...

    Objective学习笔记

    根据提供的文件信息,我们可以整理出一系列关于Objective-C的基础知识点,主要涵盖了语法结构、变量类型、内存管理、类与对象操作等方面。以下是对这些知识点的详细解释: ### 1. 类的基本结构 - **声明...

    iPhone开发基础教程_学习笔记

    在iOS开发领域,尤其是针对...总的来说,iPhone应用开发涉及Object-C编程、界面设计原则以及如UIViewController这样的核心组件的理解和使用。通过深入学习和实践,开发者可以创建出功能丰富、用户体验优秀的iOS应用。

    iPhone开发基础教程.pdf

    2. **编程语言**:iPhone应用主要使用Objective-C编写,这是一种面向对象的语言,具有Smalltalk的语法特点和C语言的底层功能。熟悉Objective-C的基本语法和类库是开发的基础。 3. **iPhone特性与限制**:iPhone应用...

    手把手教你使用xcode5 创建第一个iOS7应用 从第63页开始.pdf

    - **配置项目**:在创建项目过程中,需要填写项目名称、组织名称、公司标识符、设备方向(如iPhone、iPad)和使用的技术(Objective-C或Swift)。 - **设计用户界面**:使用Interface Builder来设计应用的用户界面。...

    iphone开发快速入门[收集].pdf

    Objective-C 是苹果公司开发的一种面向对象的编程语言,主要用于iPhone、iPad等iOS设备的应用程序开发。它是基于标准的ANSI C,并在其基础上扩展了面向对象的功能。Objective-C 的语法受到Smalltalk的影响,同时兼容...

Global site tag (gtag.js) - Google Analytics