標籤:
樣本一 (類似C)
//1.代碼編寫//跟C語言一樣,OC程式的入口依然是main函數,只不過寫到一個.m檔案中.比如這裡寫到一個main.m檔案中(檔案名稱可以是中文)#include <stdio.h>int main() { printf("Hello world\n"); return 0;}//2.終端指令cc -c main.m //編譯cc main.o //連結./a.out //運行
樣本二 (不同C)
//1.代碼編寫//跟C語言不一樣的,使用NSLog函數輸出內容#import <Foundation/Foundation.h>int main() { NSLog(@"Hello world"); 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.#inprot的作用
跟#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);
樣本三 (多檔案開發)
1.多個.m檔案的開發
//跟C語言中多個.c檔案的開發是一樣的//編寫3個檔案main.m#import "one.h"int main(){ test(); return 0;}one.hvoid test();one.m#import <Foundation/Foundation.h>void test(){ NSLog(@"調用了test函數");}//終端指令cc -c main.m test.m //編譯cc main.o test.o -framework Foundation //連結./a.out //運行
2..m檔案和.c檔案混合開發
//編寫3個檔案main.m#import "one.h"int main(){ test(); return 0;}one.hvoid test();one.c#include <stdio.h>void test(){ printf("調用了test函數\n");}終端指令cc -c main.m test.m //編譯cc main.o test.o //連結 沒有使用Foundation架構的話,就不用-framework Foundation./a.out //運行
Objective-C 第一個小程式