OC概念補充(結構體作為物件屬性 多檔案開發)

2022-03-14 02:22:52 字數 1390 閱讀 8493

description方法

問題1:使用%@列印乙個物件,輸出的是什麼內容?%@的原理是什麼?

答:問題2:重寫description方法注意點?

答:問題1:oc中%@ 是做什麼用的?

答:輸出oc的字串使用%@, %@就專門用於輸出物件型別的

問題2:如何計算字串的長度?

答:oc中呼叫length方法,計算字元的個數, 而不是占用的位元組數

結構體作為物件屬性

問題:如何將作為屬性的結構體進行初始化?

答:typedef struct date;

結構體作為物件屬性

//方法一:強制轉換

stu->_birthday = (date);

//方法二:定義乙個新的結構體,給d賦值,將d賦值給_birthday

date d = ;

stu->_birthday = d;

//方法三:分別賦值

stu->_birthday.year = 1986;

stu->_birthday.month = 1;

stu->_birthday.day = 15;

oc多檔案開發

問題1:為什麼要使用多檔案?

答:乙個ios專案可能會有多個人開發,如果多個人同時修改乙個檔案,那麼就很可能會產生衝突,比如這個增加乙個方法,那個人把這方法刪掉了。另外就是當把多個人寫功能合併起來的時候,也非常困難,寫到乙個檔案中,無法順暢的進行團隊合作

問題2:oc中如何進行多檔案開發?

答:問題3:使用多檔案開發有什麼好處?

答:匿名物件

問題1:什麼是匿名的物件?匿名物件和之前所用的物件有什麼區別?

答:匿名就是沒有名字,

匿名物件就是沒有名字的物件.

有名字的物件

// 只要用乙個指標儲存了某個物件的位址, 我們就可以稱這個指標為某個物件

// 稱p為person物件

person *p =[person new];

p->_age = 30;

p->_name= @"lnj";

[p say];

沒有名字的物件

// 無論有沒有名字, 只要呼叫new方法都會返回物件的位址

// 每次new都會新開闢一塊儲存空間

[person new]->_age = 30;

[person new]->_name = @"lmj";

[[person new] say];

問題2:匿名物件應用場景?

答:當物件只需要使用一次的時候就可以使用匿名物件

匿名物件可以作為方法的引數(實參)

oc11 結構體作為屬性

結構體作為物件的屬性 import typedef struct date inte ce student nsobject void say end implementation student void say end int main int argc,const char ar 大括號有可能...

結構體作為物件的屬性

結構體作為物件的屬性 結構體如何開闢儲存空間 結構體分配儲存空間是將所有屬性占用的儲存空間的總和加在一起後再分配 注意 其實結構體分配儲存空間本質上並不是將所有屬性占用的儲存空間的總和加在一起後再分配 而是會獲取結構體型別中占用記憶體最大的屬性的大小,然後取該大小的倍數 特例 如果剩餘的儲存空間 不...

結構體作為物件的屬性

typedefstruct date inte ce student nsobject end 1 結構體只能在定義的時候初始化 系統並不清楚它是陣列還是結構體 2 初始化結構體屬性 方法一 強制轉換 stu birthday date 方法二 定義乙個新的結構體,給d賦值,將d賦值給 birthd...