一、block基本使用
block用來儲存一段**
block標誌:^
block類似於函式:
1、可以儲存**
2、有返回值
3、有形參
定義block變數:void (^myblock)() = ^;
執行:myblock();
帶引數和返回值:
4、用dypedef定義block型別
dypedef int (^myblock) (int,int);
myblock sumblock = ^(int a, int b)
二、block總結
1、定義block變數
int (^sumblock)(int, int);
void (^myblock)();
2、用block封裝**
^(int a, int b)
^()3、block訪問外部變數
***block內部可以訪問外部變數
***預設情況下,block內部不能修改外面的區域性變數
***給區域性變數加上__block關鍵字,這個區域性變數就可以在block內部修改
4、利用typedef定義block型別
typedef int (^myblock) (int, int);
以後就可以利用這個型別來定義變數。
OC資料型別
oc是增強了c的特性,所以在變數和基本資料型別上基本與c一致。在oc中變數命名有如下規則 由字母 數字 下劃線 符號組成 必須以字母 下劃線 符號開頭 大小寫敏感 在oc中定義變數的時候不能使用oc的保留字,oc的保留字如下 oc中有如下基本資料型別 int 宣告整型變數 double 宣告雙精度變...
OC中的資料型別
在objective c中,有一些我們之前並不熟悉但是經常見到的資料型別,比如id nil nil sel等等。在很多文章裡,我們都見過這些資料型別的介紹,但是都沒有說的太清楚。這篇文章從最底層的定義開始,介紹一下這些型別到底是怎麼定義的,這會幫助我們更加深入地了解objective c。objec...
OC基礎資料型別 NSSet
1 集合 集合 nsset 和陣列 nsarray 有相似之處,都是儲存不同的物件的位址 不過nsarray是有序的集合,nsset是無序的集合。集合是一種雜湊表,運用雜湊演算法,查詢集合中的元素比陣列速度更快,但是它沒有順序。nsset set nsset alloc initwithobject...