ios 基础学习二

1:@property  @synthesize 属性(类似java里的get set)

上面那个类原先的实现是这样:

#import  

@interface Photo : NSObject {  

NSString* caption;  

NSString* photographer;  

}  

- (NSString*) caption;  

- (NSString*) photographer;  

- (void) setCaption: (NSString*)input;  

- (void) setPhotographer: (NSString*)input;  

@end  

假如用属性来实现就是这样:

#import  

@interface Photo : NSObject {  

NSString* caption;  

NSString* photographer;  

}  

@property (retain) NSString* caption;  

@property (retain) NSString* photographer;  

@end  

@property是Objective-C来声明属性的编译指令。括号里面的"retain"指明了setter需要retain输入的对象。这行其他的部分指定了属性的类型以及名字。

下面让我们来看看这个类的实现:

#import "Photo.h"  

@implementation Photo  

@synthesize caption;  

@synthesize photographer;  

- (void) dealloc  

{  

[caption release];  

[photographer release];  

[super dealloc];  

}  

@end  

@synthesize指令自动的生成了我们的setters和getters。所以我们只需要实现类的dealloc方法。

Accessors只有当他们原先没有的时候,才会被生成。所以可以放心大胆的去用@synthesize来指定属性。而且可以随意实现你自己的getter和setter。编译器会自己去找哪个方法没有。

时间: 2024-10-25 21:50:55

ios 基础学习二的相关文章

puppet基础学习(二)

puppet基础学习(二) 六.ResourceOrdering(资源定序) 使用变化参数before , require , notify , subscribe catalog是对一个给定的系统的所有资源及关系的编译,在编译catalog时,除非我们指定资源的执行顺序,不然puppet是以其自己的顺序管理,大多数时候puppet指定适当的方式,例如puppet管理用户gigabyte应该存在和文件夹/home/gigabyte/bin应该存在并属于用户gigabyte时,puppet会自动指

魏兆辉的IOS基础学习笔记之十二 OC语言基础-07 Foundation内存管理

本篇博文,将给大家介绍下再Objective-C中如何使用内存管理.一个程序运行的时候,如果不及时的释放没有用的空间内存.那么,程序会越来 越臃肿,内存占用量会不断升高.我们在使用的时候,就会感觉很卡,最终使得程序运行奔溃.因此,将无效的内存及时清理释放,是非常有必要的. 一个对象在最初创建使用,到最后的回收释放,经历的是怎样一个过程呢?包括:诞生(通过alloc或new方法实现).生存(接收消息并执行操作).交友(通过复合以及向方法传递参数).最终死去(被释放掉). 一.引用计数 在对象创建的

魏兆辉的IOS基础学习笔记之二 C语言基础-02

1. typedef 在前文中,我们用宏定义来定义了一个BOOL类型,那么现在就用更专业的方式来定义类型. typedef int Bool; int main (void){ Bool flag=1; if(flag) { printf("True"); } else { printf("false"); }} typedef 的作用就是类型定义(Type Definition). 类型定义有以下三个优点: 1. 易于阅读.比如我们可以把定义一个Dollar,然后

iOS基础学习第2天

iOS开发需要学习的主要程序设计语言有:C语言.C++.Objective-C,其中C++.Objective-C都是以C语言为基础,从C语言衍生出来的.因此,C语言是开发iOS软件的基础. 计算机只能识别0和1:0和1组成的指令,0和1组成的数据. 软件就是指令的集合,软件安装在硬盘,运行在内存. 机器语言: 汇编语言: 高级语言:面向过程和面向对象 C语言是一种面向过程的语言,Objective-C能和C混用. C语言的特点: 1. 丰富的运算符 2. 丰富的数据类型 3. 可以直接操作硬件

CSS入门基础学习二

我们下午继续学习CSS的入门基础,搬上你的小板凳赶快进入吧! 一.背景(background) Background-color:背景颜色 background-image (背景图片) background-repeat(设置背景平铺)  repeat (默认值) no-repeat (不平铺) repeat-x  (横向平铺) repeat-y (纵向平铺) background-position (设置背景位置) 设置具体值: left| right| top| bottom| cnete

HTML基础学习(二)—CSS

一.CSS概述     CSS(Cascading Stytle Sheets)层叠样式表,用来定义网页的显示效果.可以解决HTNL代码对样式定义的重复,提高了后期样式代码的可维护性,并增强了网页的显示效果.即CSS将网页内容和显示样式分离,提高了显示功能.   二.CSS与HTML结合方式 1.style属性方式      利用标签中style属性来改变每个标签的显示样式. <body> <div style="background-color: #76EE00;"

Mybatis基础学习(二)&mdash;开发Dao方式

一.原始Dao开发方式 UserDao.java public interface UserDao{ public User findUserByID(Serializable id); public List<User> findUsersByName(String name); } UserDaoImpl.java public class UserDaoImpl implements UserDao{ //SqlSessionFactory是单例存在,不应该在具体实例中创建,需要外部依赖

jQuery基础学习(二)&mdash;jQuery选择器

一.jQuery基本选择器 1.CSS选择器     在学习jQuery选择器之前,先介绍一下之前学过的CSS选择器. 选择器 语法 描述 示例   标签选择器 E {                 CSS规则   }   以文档元素为选择符   ID选择器 #ID{                  CSS规则 }   以ID为选择符   类选择器 E.className{                 CSS规则 }   以文档元素的Class为选择符   群组选择器 E1,E2{   

魏兆辉的IOS基础学习笔记之十四 OC语言基础-09 OC对象的内存管理

一. 原理 对于任何继承了NSObject的对象,都有一个与之关联的整形变量,称为引用计数器:只有计数器的值为0的时候,OC就回收该对象,否则永不回收. 1. 创建对象时,如使用alloc ,new , copy,引用计数器的值为1 2. 当使用release方法释放时,计数器的值减1 3. 当使用retain方法时,计数器的值加1 4. 当对象被回收时候,自动调用对象的dealloc方法, 5. 使用retainCount方法来获取引用计数器的值 二. 防止内存泄露标准示例写法: @class