一、OC簡介
二、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語言中的字符串
其他語法
四、第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文件的開發是一樣的
1.0.編寫3個文件
main.m
#import "one.h"int main(){ test(); return 0;}
one.h
void test();
one.m
#import <Foundation/Foundation.h>void test(){ NSLog(@"調用了test函數");}
1.1.終端指令
編譯:cc –c main.m test.m
鏈接:cc main.o test.o –framework Foundation
運行:./a.out
2. .m文件和.c文件混用開發
2.0編寫3個文件
main.m
#import "one.h"
int main()
{
test();
return 0;
}
one.h
void test();
one.c
#include <stdio.h>
void test()
{
printf("調用了test函數/n");
}
2.1終端指令
編譯:cc –c main.m test.m
鏈接:cc main.o test.o
運行:./a.out
(沒有使用Foundation框架的話,就不用-framework Foundation)
新聞熱點
疑難解答