从今天开始学OC,一天一更,让我们共同进步。
2015-08-11 20:28
281 查看
第一天
OC的文件后缀名为.m(message)的意思,第一个程序hello
world
:
打印函数NSLog();和C语言和c++的区别是,它会自动换行。
#import
:包含系统的头文件。和C语言的#include
类似,但是,他会自动判断是否已经被包含,而C语言中需要用#ifndef #endif来进行管理:
定义一个类:
包含两个文件:
.h:类的声明文件,用于变量和函数的声明
@interface
:声明一个类:后面跟一个类名。
@end
代表这个类结束
@interface : ":"代表继承的标志。后面跟父类名。
把成员变量写在大括号里面,然后方法名写在括号外面,
声明方法:所有在.h中声明的方法都是公共的方法:
-:说明是个动态方法:(对象的方法)
+:说明是一个静态的方法:(类的方法)
方法的参数问题:
一个冒号对应一个参数。
.m:实现.h文件中声明的方法:
@implementation +类名:
(实现类中的方法)
@end结尾:
main函数中的方法实现:
1.所有的OC对象都要加一个*,所以OC的所有对象都是指针
2.创建一个对象:例如:Student *stu
=[Student alloc];
3。初始化:stu =[Student init];
合成一块可以写成:Student *stu = [[Student alloc]init];
4,释放对象。
点语法:
和c++和java的语法不通,OC
的“.”实际上是调用了类中的动态的方法:。而前两者是用一个对象来操控他的参数。而在OC中,如果一个类Person
,有属性age,set
和get方法都已经声明完毕,
Person *per =[[Person alloc]init];
Per.age=23;--------->[per setAge:23]
调用了set方法:
Int
age =per.age;----------->intage = [per getAge]
调用了get方法:
总结:如果“."
作为左值,调用的是set方法
如果”.“作为右值,那么调用的是get方法:
注意:如果在set方法中用self.age =age :相当于自身调用了自身,会造成死循环,不可。。。
同样,在get方法中也不能return
self.age ,这样也会调用get方法,自身调用自身,死循环、。
相关文章推荐
- SolrCloud中的文件与Collection管理
- scanf与scanf_s
- hdoj 2094 产生冠军
- nginx和tomcat整合
- iOS项目开发实战——iOS网络编程获取网页Html源代码
- tableView从后往前传值
- abap chain endchain
- 基于消息机制的异步架构之回调函数注册
- hdoj 1011 Starship Troopers 【树形DP + 01背包】
- 30-CSS-02-CSS(和html结合的方式三四)
- 30-CSS-03-CSS(基本选择器&优先级)
- 文件服务器资源管理器
- 201301 JAVA题目0-1级
- 最长重复子串,最长公共子序列, 最长公共子串
- HDU5375 Gray code
- Codeforces Round #315 -Primes or Palindromes?(回文&&素数)
- 网络流
- UDP简单通讯之二
- SqlLite 基本操作
- LeetCode:Rectangle Area