黑马程序员-----@property和@synthesize
来源:互联网 发布:北 north plus新域名 编辑:程序博客网 时间:2024/05/19 02:41
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
@property和@synthesize
// Student.h
// @property
//
// Created by adh on 14-7-21.
// Copyright (c) 2014年 adh. All rights reserved.
//
1、@property
@property int age;
@property int no;
@property (retain) *Book book;
@property (nonatomic,retain) *Book book;
@property (nonatomic,getter = isBook) BOOLisRich;
1>@property只用于申明
2>当编译器遇到@property会自动展开成setter和getter方法的申明
3>参数说明
retain:只用于OC对象,自动生成带内存管理的setter方法,先release原来值,再retain现在的值getter方法不需要管理内存
assgin:基本数据类型,默认参数
readonly:只读属性,即只生成getter方法不生成setter方法
readwrite:默认,即生成setter和getter方法
nonatomic/atomic:原子性,提供多线程策略,atomic相当于给方法枷锁,默认atomic;nonatomic即不考了线程安全问题;在iPhone开发中我们的内存是恨有限的,一般为了提高性能,基本上不使用atomic而是使用nonatomic
copy:setter先release旧值,在copy新值
getter:用来制定getter方法的方法名
2、@synthesize
@synthesize age;
@synthesize no;
@synthesize age,no;
@synthesize age = _age;
1>@synthesize只用于.m文件的
2>当编译器遇到@synthesize会自动展开成setter和getter方法的实现
3>@synthesize自动访问与age同名的变量,如果没有找到同名变量,会自动生成一个私有的age同名变量,所以有了@property可以直接省略.h文件当中的变量的申明,让编译器自动申明
4>@synthesize age = _age;代表setter和getter会自_age变量
5>如果我们没有实现setter或者getter方法,synthesize会自动生成缺少的标准的setter或者getter方法,当然如果setter和getter方法都没有实现synthesize会自动生成标准的setter和getter方法
4、新特性
1>在Xcode4.5级以上的环境下,当编译器遇到@property就会自动在.h文件当中实现@synthesize,而不需要手动添加,并且默认去访问_age成员变量
2>如果找不到_age的变量申明,则编译器自动生成一个私有的_age成员变量
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com
- 黑马程序员-----@property和@synthesize
- 黑马程序员---@property和@synthesize
- 07.黑马程序员-@property和@synthesize
- 黑马程序员_@property和@synthesize
- 黑马程序员------OC基础-----@property和@synthesize
- 黑马程序员---Objective-C @property和@synthesize
- 黑马程序员——@property和@synthesize
- 黑马程序员-------OC----@property和@synthesize
- 黑马程序员学习笔记_OC之@property和@synthesize
- 10、黑马程序员-OC语言@property @synthesize和id
- 黑马程序员 —OC(@property和@synthesize)
- 黑马程序员————@property和@synthesize
- 黑马程序员--OC基础--@property和@synthesize关键字介绍
- 黑马程序员 --- OC中@property和@synthesize的用法
- 黑马程序员-@property与@synthesize的用法
- 黑马-OC语法-@property和@synthesize
- 黑马程序员-用点语法,@property关键字和@synthesize关键字优化set和get方法
- 黑马程序员_OC_第一个类,@property和@synthesize,Category,description方法
- scp无密码传输
- 黑马程序员---技术博客日记(1)
- 使用集成的ADT bundle来搭建android开发环境
- poj 2352 Stars
- 编程算法 - 堆(heap) 代码(C)
- 黑马程序员-----@property和@synthesize
- windows 2008r2 安装 oracle11gr2 dataguard总结
- 排序算法-冒泡、插入、归并、希尔、快速、选择--代码总结
- const详解
- UVA - 10537 The Toll! Revisited (最短路变形逆推)
- 黑马程序员 C语言的字符数组和字符指针
- 迈向任何地方的第一步,就是下决心不在原地踏步
- FPGA 功耗结构设计
- hdu 1129 Do the Untwist