黑馬程式設計師 OC學習日記 OC基礎知識

2021-06-22 03:07:31 字數 2439 閱讀 6175

一、oc簡介

1.c語言基礎上,增加了一層最小的物件導向語法

2.完全相容c語言

3.可以在oc**中混入c語言**,甚至是c++**

4.可以使用oc**開發mac os x平台和ios平台的應用程式

二、oc語法預覽

1.關鍵字

基本所有關鍵字都是以@開頭,如:

@inte***ce

、@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.其他語法

基本型別:char、int、float、double、bool(yes\no)

nil:相當於c語言中的null,也就是0

螢幕輸出:nslog(@"hello");

三、oc程式的開發過程

與c語言類似:

.m檔案--->編譯--->.o檔案--->鏈結--->a.out可執行檔案

四、oc的hello

1.**

#import

int main()

2.終端指令

編譯:cc -c main.m

執行:./a.out

3.nslog和printf的區別

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

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

使用nslog

需要#import 

使用printf

需要#include 

4.#import的作用

跟#include一樣用來拷貝某個檔案的內容

可以自動防止檔案內容被拷貝多次,也就是標頭檔案中不用加下面的預處理指令了

#ifndef

_stdio_h_

#define

_stdio_h_

#endif

5.foundation框架的作用

ø 開發oc

、ios

、mac

程式必備的框架

ø 此框架中包含了很多常用的api

(應用程式設計介面)

ø 框架中包含了很多標頭檔案,若想使用整個框架的內容,包含它的主標頭檔案即可

#import 

6.  bool的使用

bool型別的本質:

typedef

signed

char

bool

;bool

型別的變數有2

種取值:

yes、

no#define yes (bool)

1#define no 

(bool)

0bool的輸出

(當做整數來用

)六、多個檔案開發

1.多個.檔案的開發(跟c語言的多個.c檔案的開發是一樣的)

1) 編寫3

個檔案 main.m

#import 

"one.h"

intmain()

one.h

void

test();

one.m

#import 

void

test()

2)  終端指令

編譯:cc 

–c main.m test.m

–framework foundation

執行:./a.out

2. .m檔案和

.c檔案混用開發

1) 編寫3

個檔案main.m

#import 

"one.h"

intmain()

one.h

void

test();

one.c

#include

<

stdio

.h>

void

test()

2) 終端指令

編譯:cc 

–c main.m test.m

執行:./a.out

(沒有使用

foundation

框架的話,就不用

-framework foundation)

黑馬程式設計師 OC學習日記2

1 是否要生成set方法 若為唯讀屬性,則不生成 readonly 唯讀,只會生成getter的宣告與實現 readwrite 預設,同時生成setter與getter的宣告與實現 2 原子屬性 多執行緒,加鎖 nonatomic 高效能,沒有加鎖,執行緒不安全 atomic 低效能,加鎖,執行緒安...

黑馬程式設計師 OC基礎

asp.net unity開發 net培訓 期待與您交流!1.import的用途 1 跟 include一樣,拷貝檔案的內容 2 可以自動防止檔案的內容被重複拷貝 2.import nsobjcruntime.h中有nslog函式的宣告,一般用 3.foundation框架標頭檔案的路徑 4.主標頭...

黑馬程式設計師 OC封裝

物件導向的三大特性 封裝 繼承和多型 在開發過程中,考慮到安全性要求,我們一般不在成員變數名前面使用 public protected等關鍵字修飾,而是使用set方法來為物件提供成員變數的值。set方法的內部也可以對一些不合理的賦值進行篩選過濾。set方法的作用 為外界提供乙個設定成員變數值的方法 ...