ios之点语法
第一个object c 程序
首先新建一个项目,“create a new Xcode project"-"OS X下的Application"-"Command Line Tool" ,命名为“点语法”,Type为“Foundation”,不要勾选“Use Automatic Reference Counting”这个选项(ARC是Xcode的内存自动管理机制,刚开始学的时候先自己管理内存,以后熟悉了再勾选),,最后再新建一个类,“File”-“New”-“File”-“Cocoa”-“Object-C class",命名为“Person”,基类为“NSObject”,接下来就是代码的编写,如下:
Person.h:
- //
- // Person.h
- // 点语法
- //
- // Created by Rio.King on 13-8-25.
- // Copyright (c) 2013年 Rio.King. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- @interface Person : NSObject
- {
- int _age;//默认为@protected
- }
- - (void)setAge:(int)age;
- - (int)age;
- @end
Person.m
- //
- // Person.m
- // 点语法
- //
- // Created by Rio.King on 13-8-25.
- // Copyright (c) 2013年 Rio.King. All rights reserved.
- //
- #import "Person.h"
- @implementation Person
- - (void)setAge:(int)age
- {
- _age = age;//注意不能写成self.age = newAge,相当与 [self setAge:newAge];
- }
- - (int)age//object C 的调用get方法的命名习惯是直接用属性名,而不加get前缀,如getAge等。
- {
- return _age;
- }
- @end
main.m
- //
- // main.m
- // 点语法
- //
- // Created by Rio.King on 13-8-25.
- // Copyright (c) 2013年 Rio.King. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "Person.h"
- int main(int argc, const char * argv[])
- {
- @autoreleasepool {
- // insert code here...
- Person *person = [[Person alloc] init];
- //[person setAge:10];
- person.age = 10;//点语法,等效与[person setAge:10];注意,这里并不是给person的属性赋值,而是调用person的setAge方法
- //int age = [person age];
- int age = person.age;//等效与int age = [person age],,你可以试着打印出来看看。
- NSLog(@"age is %i", age);
- [person release];
- }
- return 0;
- }
几点说明:
1.根据 Objective-C.Programming.The.Big.Nerd.Ranch.Guide.Jan.2012这本书里说的,,点语法一般不常用,经常用的是中括号的形式。如 [ person age]这样的形式。
2.函数前面的“-”代表的是动态方法,静态方法用”+“,,”-“和”+“都不能省略,不然编译器会报错。
3.点语法的本质是调用get方法和set方法。
4.不要忘了[person release]这句。
版权声明:本文为博主原创文章,未经博主允许不得转载。
ios之点语法的更多相关文章
- iOS - OC 面向对象语法
1.类 1)根类:因为类 NSObject 是层次结构的最顶层,因此称为根类. 可以将类称为子类(subclass)和父类(superclass),也可以将类称为子类和超类. 2)分类/类别(cate ...
- iOS - Swift 面向对象语法
1.面向对象 面向过程:面向过程编成将所要解决的问题按解决问题的步骤进行分析.如果是大问题,就分解成为多个不同的小问题,在程序里叫做划分成不同的模块.每一个解决的步骤可能是一行或者几行代码,也可能是一 ...
- iOS开发swift语法0基础篇—————(swift技术交流群:361513739)
iOS开发之swift语法0基础篇:点击打开链接 swift技术交流QQ群361513739
- ios waxpatch lua语法
Wax Lua 使用方法 说一下 Wax 的特点,它支持你在脚本里使用任何 OC 的类,同样也支持你创建一个类. 使用一个类时你会这样使用: 1 2 NSString -- Returns the N ...
- iOS - OC 基本语法
1.常见文件扩展名 .c C 语言源文件 .cc..cpp C++ 语言源文件 .m Objective-C 源文件 .mm Objective-C++ 源文件 .h 头文件 .pl Perl 源文件 ...
- iOS - Swift 基本语法
前言 Swift 全面支持 Unicode 符号. Swift 中的定义和实现是在同一个单元中的,通常一个 Swift 源代码单文件是以 ".Swift" 结尾的. Swift 不 ...
- iOS: 布局可视化语法 Visual Format Syntax
可视化语法 Visual Format Syntax The following are examples of constraints you can specify using the visua ...
- ios结构体语法
- iOS开发——高级语法篇&继承、实现、依赖、关联、聚合、组合的联系与区别
继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者 ...
随机推荐
- python模拟http请求2
发现了一个非常好用的第三方module:requests,模拟接口非常简单. 详细了解请移步:http://docs.python-requests.org/en/latest/ 非常不错 #!cod ...
- 《SPFA算法的优化及应用》——姜碧野(学习笔记)
一.核心性质:三角不等式.最短路满足d[v]<=d[u]+w(u,v) 二.SPFA两种实现: 常见的是基于bfs的,这是直接对bellman-ford用队列维护.根据最短路的长度最长为(n-1 ...
- virtualbox更新完之后重启不成功
前几天更新完virtualbox,一直没用,今天想用,可是提示can't not access the kernel drivers,百度完之后按照别人博客所教方法弄好了,特地来转载他人文章,表达对博 ...
- 【C#学习笔记】获得系统时间
using System; namespace ConsoleApplication { class Program { static void Main(string[] args) { Conso ...
- MVC&WebForm对照学习:文件下载
说完了WebForm和MVC中的文件上传,就不得不说用户从服务器端下载资源了.那么今天就扯扯在WebForm和MVC中是如何实现文件下载的.说起WebForm中的文件上传,codeshark在他的博文 ...
- GitHub上README.md教程
最近对它的README.md文件颇为感兴趣.便写下这贴,帮助更多的还不会编写README文件的同学们. README文件后缀名为md.md是markdown的缩写,markdown是一种编辑博客的语言 ...
- 不同语言的Unix时间戳
如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)? Java time JavaScript Math.round(new Date().getTime()/1000)ge ...
- [视频监控]用状态机图展示Layout切换关系
监控系统通常会提供多种Layout给用户,用于满足不同需求,如:高清显示单路视频或者同时观察多路监控情况. 文中系统只提供了单路.2x2(2行2列共4路).8路(4行4列布局,从左上角算起,有个核心显 ...
- AtCoder Grand Contest 001 C Shorten Diameter 树的直径知识
链接:http://agc001.contest.atcoder.jp/tasks/agc001_c 题解(官方): We use the following well-known fact abou ...
- 【LeetCode 169】Majority Element
Given an array of size n, find the majority element. The majority element is the element that appear ...