OC语法基础
2014-07-21 13:51
169 查看
1.#import的用途
相当于#include 导入头文件 也有两种查找方式< ... > 和" ... "
导入该头文件是因为在程序结尾处用到的其他类和函数的有关信息
跟#include一样,拷贝文件的内容
可以自动防止文件的内容被重复拷贝
#import<Foundation/NSObjCRuntime.h>
NSObjCRuntime.h中有NSLog函数的声明
2.Foundation框架头文件的路径
右击Xcode.app --> 显示包内容
Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/Foundation.framework
主头文件
最主要的头文件,名字一般跟框架名称一样,包含了框架中的所有其他头文件
Foundation框架的主头文件名称就是Foundation.h
只需要包含Foundation框架主头文件,就可以使用整个框架的东西
运行过程
编写OC源文件:.m、.c
编译:cc -c xxx.m xxx.c
链接:cc xxx.o xxx.o -framework Foundation(只有用到了Foundation框架才需要加上-framework Foundation)
运行:./a.out
扩展名
.h
头文件。头文件包涵类的定义、类型、方法以及常量的声明
.m
源文件。这个典型的扩展名用来定义源文件,可以同时包含C和Objective-C的代码。
3.@符号
@符号是OC在C基础上新加的特性之一。
常见形式
@”字符串”,%@ , @interface,@implement等。@”字符串”表示引用的字符串应该作为Cocoa的NSString元素来处理。@interface等则是对于C的扩展,是OC面向对象特性的体现。
注:这里提一个小技巧,只要看到@符号,就可以认为它是对于C的一个扩展。
命名规则
以字母或下划线开头,之后可以是任何字母,下划线或者0~9 数字组合。
命名约定:
类名以大写字母开头,实例变量以下划线开头、对象以及方法的名称以小写字母开始。
每次创建新对象时,将同时创建一组新的实例变量且唯一。
4.NSLog()
引入foundation框架后,在OC中用的打印函数是NSLog(),不过引入stdio.h头文件后,也可以用printf(),但是NSLog()提供了一些特性,如时间戳,日期戳和自动加换行符等,用起来更方便,所以推荐使用NSLog()。
使用NSLog()输出任意对象的值时,都会使用%@格式说明。但是如果不是字符串对象时,默认输出的是类名和对象地址。
在使用这个说明符时,对象通过一个名为description的方法提供自己的NSLog()格式。可以通过重写description方法,来改变输出内容。
注:NS前缀告诉你函数来自Cocoa而不是其他工具包。
5.与 C 语言兼容的地方
预处理
#define 语句和 c 一样
#运算符
#define str(x) #x 表示在调用该宏时,预处理程序根据宏参数创建C 风格的常量字符串。
例如:str("hello")将产生"\"hello"\"
##运算符
表示用于把两个标记连在一起
#import 语句相当于#include 语句,但是 #import 可自动防止同一个文件被导入多次。
#条件编译语句(#ifdef 、#endif、 #else 、 #ifndef)和 C 一样 #undef 语句 消除特定名称的定义 其他基本的C 语言特性
数组、函数、指针、结构、联合的用法和C 一样。
Compound Literal 是包含在括号之内的类型名称,之后是一个初始化列表。
例如:如果 intPtr 为 int * 类型: intPtr = (int[100]){[0] = 1, [50] = 50, [99] = 99};
如果数组大小没有说明,则有初始化列表确定。
其他
如循环语句 (do while、while、for)、条件语句(if 语句(if-else、复合判断条件等) 、switch 语句)、 Boolean(YES NO)、条件运算符、goto 语句、空语句、逗号表达式、sizeof 运算符、命令行参数、位操作都 和 C 一样。
6.个人小结
学习任何一门编程语言都要从其基本语法开始学起,对于学习过C语言基础的人来讲,学习OC的相对其它编程语言更容易上手,因为它和C语言的联系十分紧密,它的使用很多都是封装了C语言的用法,但也正因为此,OC中面向对象的概念相对其它语言来讲就并不十分清晰明了,初学者很容易将C语言的面向过程和OC的面向对象混为一谈。想要真正理解OC的面向对象,就一定要在运用中去领会,在处理问题的过程中去深化理解。
相当于#include 导入头文件 也有两种查找方式< ... > 和" ... "
导入该头文件是因为在程序结尾处用到的其他类和函数的有关信息
跟#include一样,拷贝文件的内容
可以自动防止文件的内容被重复拷贝
#import<Foundation/NSObjCRuntime.h>
NSObjCRuntime.h中有NSLog函数的声明
2.Foundation框架头文件的路径
右击Xcode.app --> 显示包内容
Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/Foundation.framework
主头文件
最主要的头文件,名字一般跟框架名称一样,包含了框架中的所有其他头文件
Foundation框架的主头文件名称就是Foundation.h
只需要包含Foundation框架主头文件,就可以使用整个框架的东西
运行过程
编写OC源文件:.m、.c
编译:cc -c xxx.m xxx.c
链接:cc xxx.o xxx.o -framework Foundation(只有用到了Foundation框架才需要加上-framework Foundation)
运行:./a.out
扩展名
.h
头文件。头文件包涵类的定义、类型、方法以及常量的声明
.m
源文件。这个典型的扩展名用来定义源文件,可以同时包含C和Objective-C的代码。
3.@符号
@符号是OC在C基础上新加的特性之一。
常见形式
@”字符串”,%@ , @interface,@implement等。@”字符串”表示引用的字符串应该作为Cocoa的NSString元素来处理。@interface等则是对于C的扩展,是OC面向对象特性的体现。
注:这里提一个小技巧,只要看到@符号,就可以认为它是对于C的一个扩展。
命名规则
以字母或下划线开头,之后可以是任何字母,下划线或者0~9 数字组合。
命名约定:
类名以大写字母开头,实例变量以下划线开头、对象以及方法的名称以小写字母开始。
每次创建新对象时,将同时创建一组新的实例变量且唯一。
4.NSLog()
引入foundation框架后,在OC中用的打印函数是NSLog(),不过引入stdio.h头文件后,也可以用printf(),但是NSLog()提供了一些特性,如时间戳,日期戳和自动加换行符等,用起来更方便,所以推荐使用NSLog()。
使用NSLog()输出任意对象的值时,都会使用%@格式说明。但是如果不是字符串对象时,默认输出的是类名和对象地址。
在使用这个说明符时,对象通过一个名为description的方法提供自己的NSLog()格式。可以通过重写description方法,来改变输出内容。
注:NS前缀告诉你函数来自Cocoa而不是其他工具包。
5.与 C 语言兼容的地方
预处理
#define 语句和 c 一样
#运算符
#define str(x) #x 表示在调用该宏时,预处理程序根据宏参数创建C 风格的常量字符串。
例如:str("hello")将产生"\"hello"\"
##运算符
表示用于把两个标记连在一起
#import 语句相当于#include 语句,但是 #import 可自动防止同一个文件被导入多次。
#条件编译语句(#ifdef 、#endif、 #else 、 #ifndef)和 C 一样 #undef 语句 消除特定名称的定义 其他基本的C 语言特性
数组、函数、指针、结构、联合的用法和C 一样。
Compound Literal 是包含在括号之内的类型名称,之后是一个初始化列表。
例如:如果 intPtr 为 int * 类型: intPtr = (int[100]){[0] = 1, [50] = 50, [99] = 99};
如果数组大小没有说明,则有初始化列表确定。
其他
如循环语句 (do while、while、for)、条件语句(if 语句(if-else、复合判断条件等) 、switch 语句)、 Boolean(YES NO)、条件运算符、goto 语句、空语句、逗号表达式、sizeof 运算符、命令行参数、位操作都 和 C 一样。
6.个人小结
学习任何一门编程语言都要从其基本语法开始学起,对于学习过C语言基础的人来讲,学习OC的相对其它编程语言更容易上手,因为它和C语言的联系十分紧密,它的使用很多都是封装了C语言的用法,但也正因为此,OC中面向对象的概念相对其它语言来讲就并不十分清晰明了,初学者很容易将C语言的面向过程和OC的面向对象混为一谈。想要真正理解OC的面向对象,就一定要在运用中去领会,在处理问题的过程中去深化理解。
相关文章推荐
- oc基础语法——(if···else语句用法)
- oc语法基础——(switch语句用法)——简单的计算器
- OC基础—语法概述(初步了解Objective-C)
- ios基础——OC语法代码块的运用
- 【OC语法快览】四、基础内存管理
- OC基础语法学习笔记-20120712
- OC基础教程之基本语法
- 黑马程序员_OC基础06_OC语法
- 黑马程序员-IOS-OC基础-面向对象语法二
- OC基础之-Property(属性)和点语法
- oc语法基础——(break语句)
- OC基础语法知识
- 黑马程序员_ios基础总结9_OC特有语法
- 黑马程序员-IOS-OC基础-浅析Copy语法
- 黑马程序员-IOS-OC基础-OC简介及基本语法
- oc语法基础——(do.....while 语句用法)
- OC基础语法学习笔记
- 黑马程序员 _5 OC基础 简单语法
- IOS_OC_基础语法
- 黑马程序员_OC基础01_基础语法