黑马程序员技术交流社区
标题:
不知道可以这样些技术博客吗?第一天oc笔记——oc的基础...
[打印本页]
作者:
楚燮哥哥
时间:
2014-11-29 08:51
标题:
不知道可以这样些技术博客吗?第一天oc笔记——oc的基础...
感觉不知道怎么写技术博客,所以就在mj的笔记上自己昨个整理,也不知道这样行行不行。
一、OC简介
OC全称 Objective-C,它通过一套全新的语法,在C语言基础上添加了面向对象的特性。OC语法只不过频繁使用方括号,而且不吝于写出极长的方法名,虽然代码冗长,但十分易读。OC完全兼容C语言,且可以在OC代码中混入C语言代码,甚至是C++代码。我们可以使用OC开发Mac OS X平台和IOS平台的应用程序。
OC语言使用的是“消息结构”(messaging structure)而非函数调用(function calling)。OC语言是由Smalltalk演化而来的,后者是消息型语言的鼻祖。消息与函数电泳之间的区别看上去就像这样:
[url=]//消息结构[/url]
Object *obj = [Object new];
[obj performWith:parameter1 and:parameter2];
[url=]//函数调用[/url]
Object *obj = new Object;
obj->perform(parameter1,parameter2);
关键的区别在于:使用消息结构的语言,其运行时所应执行的代码由运行环境来决定;而使用函数调用的语言,则由编译器决定。
二、OC语法规范
1、关键字:基本上所有关键字都是以@开头的
一些常见的关键字有:
@interface、@implementation、@end
@public、@protected、@private、@selector
@try、@catch、@throw、@finally
@protocol、@optional、@required、@class
@property、@synthesize、@dynamic
self、super、id、_cmd、__block、__strong、__weak、
2、字符串都是以@开头,比如说OC中的字符串是@“hello”,而C语言的字符串是hello。
3、其他的语法都有
基本数据类型:char int float double BOOL(YES\NO)
nil:相当于C语言中的null
基本语句:循环语句(do while、while、for),条件语句(if、if-else、switch)
注释://和/*...*/
屏幕输出NSLog(@"hello");NSLog(@"age is %i",27);
三、OC的开发过程
四、第一个OC程序
1、代码编写:OC语言的入口是main函数,它写在 .m文件中
比如写在一个main.m文件中:
#include <stdio.h>
int main()
{
printf("第1个OC程序\n");
return 0;
}
这是在oc源文件里面的c语言写法,一样能够编译运行。
2.终端指令:
编译:cc –c main.m
链接:cc main.o
运行:./a.out
五、第二个OC程序
1、 以OC代码写的main.m文件
#import <Foundation/Foundation.h>
int main()
{
NSLog(@"第2个OC程序");
return 0;
}
2、.终端指令
编译:cc –c main.m
链接:cc main.o –framework Foundation
运行:./a.out
由于使用了NSLog函数,所以需要引入框架文件 #import <Foundation/Foundation.h>,同时也要告诉编译器使用了框架 –framework Foundation
3.NSLog与printf的区别:
NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数;
NSLog输出后会自动换行,printf输出后不会自动换行;
使用NSLog需要#import <Foundation/Foundation.h>;
使用printf需要#include <stdio.h>;
4.#import的作用
跟#include一样,用来拷贝某个文件的内容
可以自动防止文件内容被拷贝多次,也就意味着头文件中不用加入下面的预处理指令
#ifndef _STDIO_H_
#define _STDIO_H_
#endif
5.Foundation框架的作用
开发OC、iOS、Mac程序必备的框架
此框架中包含了很多常用的API(应用编程接口)
框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可
#import <Foundation/Foundation.h>
6.BOOL的使用
BOOL类型的本质:typedef signed char BOOL;
BOOL类型的变量有2种取值:YES、NO
#define YES (BOOL)1
#define NO (BOOL)0
BOOL的输出(当做整数来用)
NSLog(@"%d %d", YES, NO);
作者:
下一刻湮灭
时间:
2014-11-30 15:03
看起来不是复制粘贴的就成
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2