1. //
  2. // Dog.h
  3. // OC2_点语法(属性关键字)
  4. //
  5. // Created by zhangxueming on 15/6/16.
  6. // Copyright (c) 2015年 zhangxueming. All rights reserved.
  7. //
  8.  
  9. #import <Foundation/Foundation.h>
  10.  
  11. @interface Dog : NSObject
  12. //属性关键字
  13. //assgin(缺省)直接赋值 //基本类型 代理对象指针
  14.  
  15. //retain 先release 再 retain //除了基本类型 字符串类型 代理对象, 剩下的通常用 retain
  16.  
  17. //copy 先release 再 copy //字符串对象用copy
  18.  
  19. //atomic(缺省),nonatomic
  20. //原子性的 非原子性的
  21.  
  22. //readwrite(缺省) 展开对应的setter getter方法
  23. //readonly 只展开对应的getter方法
  24.  
  25. //setter getter 修改setter getter方法的方法名
  26. //点语法访问不受影响
  27. //经典访问要使用新的方法名
  28.  
  29. @property (assign,atomic)NSInteger age;
  30.  
  31. @property (assign, nonatomic, readwrite)float weight;
  32.  
  33. @property (copy,nonatomic)NSString *name;
  34.  
  35. @property (assign,setter=setNewNumber:,getter=getNumber) NSInteger number;
  36.  
  37. @end
  1. //
  2. // Dog.m
  3. // OC2_点语法(属性关键字)
  4. //
  5. // Created by zhangxueming on 15/6/16.
  6. // Copyright (c) 2015年 zhangxueming. All rights reserved.
  7. //
  8.  
  9. #import "Dog.h"
  10.  
  11. @implementation Dog
  12.  
  13. @synthesize age = _age;
  14.  
  15. - (NSInteger)age
  16. {
  17. NSLog(@"getter");
  18. return _age;
  19. }
  20.  
  21. - (void)setAge:(NSInteger)age
  22. {
  23. NSLog(@"setter");
  24. _age = age;
  25. }
  26.  
  27. @end
  1. //
  2. // main.m
  3. // OC2_点语法(属性关键字)
  4. //
  5. // Created by zhangxueming on 15/6/16.
  6. // Copyright (c) 2015年 zhangxueming. All rights reserved.
  7. //
  8.  
  9. #import <Foundation/Foundation.h>
  10. #import "Dog.h"
  11.  
  12. int main(int argc, const char * argv[]) {
  13. @autoreleasepool {
  14. Dog *dog = [[Dog alloc] init];
  15. dog.name= @"小白";
  16. dog.age = ;
  17. dog.weight = 34.5;
  18. NSLog(@"name = %@ age = %li weight = %.2f", dog.name, dog.age, dog.weight);
  19.  
  20. dog.number = ;
  21. NSLog(@"number = %li", dog.number);
  22.  
  23. [dog setNewNumber:];
  24. NSLog(@"number = %li", [dog getNumber]);
  25.  
  26. }
  27. return ;
  28. }

OC2_点语法(属性关键字)的更多相关文章

  1. OC中@property属性关键字的使用(assign/weak/strong/copy)

    OC中@property属性关键字的使用(assign/weak/strong/copy) 一.assign 用于 ‘基本数据类型’.‘枚举’.‘结构体’ 等非OC对象类型 eg:int.bool等 ...

  2. C语言学习笔记--C语言中变量的属性关键字

    变量属性关键字的使用语法:property type var_name; 1.auto 关键字 auto关键字是C语言中局部变量的默认的关键字,C编译器默认所有的局部变量都是auto的,它表明了被修饰 ...

  3. @property属性关键字

    关于@property属性关键字使用注意:* weak(assign) :  代理\UI控件* strong(retain) : 其他对象(除代理\UI控件\字符串以外的对象)* copy : 字符串 ...

  4. MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询

    MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...

  5. iOS基础知识之属性及属性关键字

    iOS属性及属性关键字 一.属性功能:1.给现有的成员变量生成一对setter/getter方法.2.如果没有声明成员变量,自动声明一个_属性名的私有变量(默认的成员变量是受保护的). 二.属性关键字 ...

  6. OC 属性关键字

    // 属性关键字 /* 1.ARC下(自动管理内存,自动引用计数)(IOS) strong,weak ----------------------------------------- 2.MRC下( ...

  7. ARC声明属性关键字详解(strong,weak,unsafe_unretained,copy)

    ARC声明属性关键字详解(strong,weak,unsafe_unretained,copy) 在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都很熟悉了, ...

  8. Visual C++ 编译器自动假定带 .C 扩展名的文件是 C 文件而不是 C++ 文件,并且拒绝 C++ 语法和关键字(c语言只能在大括号最前面申明变量)

    今天在编译OpenGL红宝书附带源码中的light.c文件时遇到一个诡异的问题: 如图light .c,在不做任何修改的情况编译OK.然而只要在某些地方写了可执行代码,则会无法通过编译器编译! (这几 ...

  9. Java基础语法(1)-关键字与保留字

    title: Java基础语法(1)-关键字与保留字 blog: CSDN data: Java学习路线及视频 1.关键字 关键字(keyword)的定义和特点 定义:被Java语言赋予了特殊含义,用 ...

随机推荐

  1. C++为什么不支持某些东西

    1.学习C++的过程,经常发现C++不支持一些东西,思考下,为什么? 2.C++不支持一些东西,有两个原因: a.可以做到,但是会导致一些不合理的结果,这些结果往往与程序员的期望不一致. b.属于“臣 ...

  2. BZOJ 2588: Spoj 10628. Count on a tree 树上跑主席树

    2588: Spoj 10628. Count on a tree Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/J ...

  3. Swift常用语法示例代码(一)

    此篇文章整理自我以前学习Swift时的一些练习代码,其存在的意义多是可以通过看示例代码更快地回忆Swift的主要语法. 如果你想系统学习Swift或者是Swift的初学者请绕路,感谢Github上Th ...

  4. Tomcat以指定JDK运行

    如果一台机器上有多个Tomcat,可能存在不同的Tomcat需要不同版本JDK才能运行的情况,这时候就需要指定JDK来同时运行多个Tomcat了. 在windows环境下以批处理文件方式启动tomca ...

  5. PHP做好防盗链的基本思想 防盗链的设置方法

    盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率.受益者不提供资源或提供 ...

  6. js new date详解

    创建一个日期对象: var objDate=new Date([arguments list]); var ini_date=new Date(2014,7,0); //是代表7月最后一天 ,也就是2 ...

  7. 读logback源码系列文章(五)——Appender --转载

    原文地址:http://kyfxbl.iteye.com/blog/1173788 明天要带老婆出国旅游几天,所以这段时间暂时都更新不了博客了,临走前再最后发一贴 上一篇我们说到Logger类的inf ...

  8. Helpers\Tags

    Helpers\Tags The tags helper is a collection of useful methods: Tags::clean($data) Clean function to ...

  9. DataBase 之 常用操作

    (1) try catch 配合 Transactions 使用 --打开try catch功能 set xact_abort on begin try begin tran ) commit tra ...

  10. AT-PagerAdapter

    关于PagerAdapter的粗略翻译 英文版api地址:PagerAdapter(自备梯子) PagerAdapter         已知直接子类:FragmentPagerAdapter.Fra ...