iOS中 @synthesize 和 @dynamic 区别

原创 2015年11月18日 08:49:06

object-c 为了让java的开发者习惯 使用.的操作,所以可以将接口类中的变量 使用@property来声明属性。但是在.h中声明的属性,必须在.m中使用@synthesize或者@dynamic来实现(传言,在最近出的ios6中这不已经省了),否则属性不可用。

熟悉object-c语法的都知道@synthesize实际的意义就是 自动生成属性的setter和getter方法。

@dynamic 就是要告诉编译器,代码中用@dynamic修饰的属性,其getter和setter方法会在程序运行的时候或者用其他方式动态绑定,以便让编译器通过编译。其主要的作用就是用在NSManagerObject对象的属性声明上,由于此类对象的属性一般是从Core Data的属性中生成的,core data 框架会在程序运行的时候为此类属性生成getter和setter方法。

关于@synthesize和@dynamic的区别

@synthesize和@dynamic到底做了哪些事情,以及他们之间的区别。

半路出家, 我的iOS自学之路-3-属性, @property, @synthesize, @dynamic, 用类别动态添加”属性”

半路出家, 我的iOS自学之路-3-属性, @property, @synthesize, @dynamic, 用类别动态添加”属性” 我是一只绝望的菜鸟, 只学过Java, 半路出家, 自学iOS....

IOS 关键字self,super,copy,retain,assign,readonly,readwrite,nonatomic,@synthesize,@property,@dynamic(转载)

1.#synthesize关键字: 根据@property设置,自动生成成员变量相应的存取方法,从而可以使用点操作符来方便的存取该成员变量 。2.@implementation 关键字,表明类的实现 ...

第二章、Objective-C中的@property、@synthesize和dynamic的用法(iOS学习笔记,从零开始)

*以下博文来自 http://justcoding.iteye.com/blog/1444548 非常敬佩作者的分享精神。 @代表“Objective-C”的...
  • hherima
  • hherima
  • 2013年02月28日 17:38
  • 7443

ios关键字copy, retain, assign , readonly , readwrite, nonatomic、nonatomic、natomic@synthesize、@dynamic

常会用的关键字,根据日常开发的经验和通过其他博客的一些总结

2.属性详解(@property/@dynamic/@synthesize)

上一篇文章讲到, OC 2.0之后属性一旦声明,如果没有readonly修饰的话,当前类自动生成了setter和getter方法的声明, 并且会自动生成对应的实例变量(下划线 + 属性名)。而sett...

copy, retain, assign , readonly , readwrite, nonatomic、@synthesize、@property、@dynamic

使用@property配合@synthesize可以让编译器自动实现getter/setter方法,使用的时候也很方便,可以直接使用“对象.属性”的方法调用;如果我们想要”对象.方法“的方式来调用一个...

@dynamic、@synthesize

一、@dynamic与@synthesize的区别 1、@property有两个对应的词,一个是@synthesize,一个是@dynamic。如果@synthesize和@dynamic都没写,那么...

@property @synthesize @dynamic

摘自:微博@iOS程序犭袁@property 的本质是什么?ivar、getter、setter 是如何生成并添加到这个类中的@property 的本质是什么? @property = ivar ...

Objective-C使用@dynamic和@synthesize

@dynamic 意思是由开发人员提供相应的代码:对于只读属性需要提供 setter,对于读写属性需要提供 setter 和 getter。 @synthesize 意思是,除非开发人员已经做了,否...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS中 @synthesize 和 @dynamic 区别
举报原因:
原因补充:

(最多只允许输入30个字)