OC易錯 誤用了block的型別

2021-07-03 02:07:14 字數 1024 閱讀 9624

1> 在使用block時,隨便寫了以下**,系統報錯說「use of undeclared identifier 『read1』;did you mean 『read』? 」

int (^listaandb)(int,int) = ^(int a,int b);//此處的分號千萬別忘記

listaandb read1;

read1(2,3);

2> 後來才發現我把listaandb

當成了乙個型別名,實則不然,它只是乙個位址,乙個函式名。要想成為乙個型別名必須使用typedef。

3> 應該這樣修改

int (^listaandb)(int,int) = ^(int a,int b);//此處的分號千萬別忘記

listaandb(2,3);

4> 若想把block定義成乙個型別,可以這樣:

//1.讓listaandb變成乙個型別

typedef

int (^listaandb)(int,int);//此處的分號千萬別忘記

//2.宣告乙個listaandb變數並賦值

listaandb list1 = ^(int a,int b);//此處的分號千萬別忘記

//3.呼叫剛剛的變數

list1(2,3);

5> 這裡的typedef類似於靜態變數,在其作用域內使用。類似於以下**:

//1.讓studentinfo變成乙個型別

typedef

struct studentinfo;

//2.宣告乙個studentinfo變數並賦值

studentinfo stu = ;

//3.呼叫剛剛的結構體變數

nslog(@"stu.no:%i",stu.no);

1> 知識一定要掌握紮實,舉一反三,不要憑感覺做事。

2>一定要像達文西畫雞蛋一樣,哪怕重複n遍,也要把一件事做好。也就這幾年北漂的時光了,一定要更有意義。

Enumeration的錯誤用法

在debug一段含有enumeration物件的 時候,為了看到enumeration物件內的值,在原有迴圈外另外增加了乙個迴圈來輸出,結果增加後發現 有異常出現。經過除錯發現,使用enu.nextelement依次輸出值之後,enu。hasmoreelements變為了false,導致了正常的 沒...

union all的錯誤用法

下面一段 錯了呢 找找看select from select city name sum w new user cnt as w new user cnt dsfrom pub cockpit db.ads mob dri user gather ws where ds between 202010...

錯誤記錄 誤用 rmdir s q

rem 本想一路cd,但是太長了 cd d c users rem 於是,我準備用everything 查詢 該路徑,並把它傳給另乙個命令,在該路徑下開啟乙個新的命令列.es r workspacestorage n 1 pass start d 0 cmd 在另乙個命令列中 rem 我開啟了檔案管...