一、Objective-C語言簡介:
C語言的基礎上,增加了一層最小的面向對象語法
完全兼容C語言
可以在OC代碼中混入C語言代碼,甚至是C++代碼
可以使用OC開發Mac OS X平臺和iOS平臺的應用程序
語言排行榜:
二、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. 字符串以@開頭
比如@"Hello"是OC中的字符串,而"Hello"則是C語言中的字符串
3.其他語法
三、OC程序的開發過程
與C語言類似:
四、第1個OC程序
1. 代碼編寫
跟C語言一樣,OC程序的入口依然是main函數,只不過寫到一個.m文件中。比如這裏寫到一個main.m文件中(文件名可以是中文)
#include <stdio.h>
int main()
{
printf("第1個OC程序\n");
return 0;
}
2. 終端指令
編譯cc –c main.m
鏈接cc main.o
運行./a.out
五、第2個OC程序
1. 代碼編寫
來點跟C語言不一樣的,使用NSLog函數輸出內容
#import <Foundation/Foundation.h>
int main()
{
NSLog(@"第2個OC程序");
return 0;
}
2. 終端指令
編譯cc –c main.m
鏈接cc main.o –framework Foundation
運行./a.out
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);
六、第3個OC程序
1. 多個.m文件的開發
跟C語言中多個.c文件的開發是一樣的
#import "one.h"
int main()
{
test();
return 0;
}
one.h
void test();
one.m
#import <Foundation/Foundation.h>
void test()
{
NSLog(@"調用了test函數");
}
2) 終端指令
編譯:cc –cmain.m test.m
鏈接:cc main.otest.o –framework Foundation
運行:./a.out
1. 多個.m文件的開發
#import "one.h"
int main()
{
test();
return 0;
}
one.h
void test();
one.c
#include <stdio.h>
void test()
{
printf("調用了test函數\n");
}
2) 終端指令
編譯:cc –c main.m test.m
鏈接:cc main.o test.o
運行:./a.out
(沒有使用Foundation框架的話,就不用-framework Foundation)
好了 學習的時間總是過的很快,珍惜現在,展望未來,我們下次再見:)
By:Net Fly