OC簡介及基本語法 一

2021-10-06 16:09:24 字數 1741 閱讀 1650

1.什麼是oc?

objective-c簡稱obj-c或者oc,objective的意思就是物件導向的。oc其實就是在c語言的基礎之上,封裝了一層物件導向的語法,他並不是一門全新的程式語言。oc是mac os x系統和ios系統的主要開發程式語言。c程式的原始檔的字尾名為.c,oc程式的原始檔是字尾名為.m,m就是message的意思。因為oc是完全相容c語言的,所以在.m檔案之中是可以寫任意的c**。並且oc中main函式仍然是oc程式的入口,作用和c語言中的是一樣的。

(1).#import指令

用法和#include指令的用法相同。並且#import在包含檔案的時候會先判斷這個檔案是否已經被包含,如果沒有被包含就包含,如果已經被包含,就不再包含。c語言中#include一樣,用來拷貝某個檔案的內容,#import可以自動防止檔案內容被拷貝多次,也就意味著標頭檔案中不用加入相應的預處理指令。

(2).foundation框架

蘋果或開源第三方把一些功能模組封裝在乙個乙個類中,給大家使用。這些類的集合就是框架。相當於乙個工具箱。

在編寫第乙個oc程式時用到了oc的輸出函式nslog,但呼叫nslog需要包含foundation框架,oc中一般使用#import 來包含foundation框架,每個框架都有自己的主標頭檔案:即最主要的標頭檔案。主標頭檔案名字一般跟框架名稱一樣,包含了框架中的所有其他標頭檔案,foundation框架的主頭檔名稱就是foundation.h,只需要包含foundation框架的主標頭檔案,就可以使用整個框架的東西。

#import

//oc程式的入口:main函式

int main()

//printf("第乙個oc程式\n");//oc完全相容c語言程式   

nslog(@"第乙個oc程式"); //nslog輸出內容會自動換行

return 0;

(3).nslog與printf的區別

nslog接收oc字串作為引數,printf接收c語言字串作為引數

nslog輸出後會自動換行,printf輸出後不會自動換行

使用nslog需要#import

使用printf需要#include

nslog輸出完畢資訊之後會預設加乙個\n,如果我們手動加了乙個\n,nslog的自動換行就會失效。

在輸出資訊的同時還會輸出一些與程式有關的其他資訊(系統時間、程式名、程序id、執行緒id)。

nslog函式的字串引數前面必須要加乙個@符號,這是oc裡的字串格式。

nslog可以使用%@格式控制符輸出物件,而printf不能輸出物件。

nslog函式的第乙個引數是nsstring型別的指標,所以必須給乙個oc字串。

(4).oc中的字串

c語言使用字元陣列和字元指標的方式來儲存字串,oc中專門設計了乙個新的資料型別(nsstring)來儲存字串。oc中的字串常量必須加乙個@字首,寫在雙引號外面,如:@"nstring"。oc的字串常量使用nsstring型別的指標變數來儲存位址.nsstring *str = @"nstring".

(5).bool的使用

bool型別的本質 typedef signed char bool;

bool型別的變數有2種取值:yes、no

#define yes (bool)1

#define no (bool)0

bool的輸出(當做整數來用)

nslog(@"%d %d", yes, no);

(6).oc的編譯

oc程式編譯的是.m,.mm檔案,.o是目標檔案;鏈結生成.out檔案。

OC基本語法

基本格式及語法 oc方法的格式 表示類方法,只能用來呼叫。表示例項方法,用物件呼叫 無引數輸入的方法格式 方法的返回值 方法名 例 void func1 nsinteger func2 有引數入的方法格式 方法返回值 方法名 引數1型別 引數1名 方法名 引數2型別 引數2名 例 輸入字串 返回字串...

XML簡介及基本語法

目錄 一 xml的簡介 了解 二 xml的語法 1.文件宣告 2.元素 標籤定義 3.屬性 4.注釋 5.轉義字元 6.cdata區 7.pi指令 處理指令 三 xml的約束 四 dtd約束 五 dtd的三種引入方式 1.內部dtd 2.外部dtd 3.外部dtd 六 使用dtd定義元素 1.約束元...

T SQL簡介及基本語法

sql server用於運算元據庫的程式語言為transaction sql,簡稱t sql。t sql與pl sql不同,並沒有固定的程式結構。t sql包括以下4個部分 在t sql中,命令和語句的書寫是不區分大小寫的。1 識別符號 t sql規則識別符號 界定識別符號 對於不符合識別符號規則的...