IOS基礎_Block文法的簡單使用

來源:互聯網
上載者:User

IOS基礎_Block文法的簡單使用

開始學IOS的時候沒怎麼接觸過block語句,在後來用到的越來越多,就不得不學了,剛開始理解比較困難的,然後自己做了一個例子就慢慢理解了,不說廢話了,上代碼:


正常的簡單地申明調用一個block語句是這樣的:

//申明

int (^yxpBlock)(int, int) =^(int a ) {return a*a ;};

說明:返回值(^語句塊名稱)(傳人蔘數類型)=^(傳人蔘數){主體};


//調用

int result = square(5);


我建了一個測試專案包含了(yxpAppDelegate和yxpViewController)兩個類


在yxpViewController類裡面


申明了一個block語句類型

@classyxpViewController;

typedef void (^yxpBlock) (yxpViewController *);


在yxpViewController 申明了yxpBlock變數

@interface yxpViewController :UIViewController

@property (nonatomic,assign)yxpBlock yxpblock;

@end


在touchesBegan: withEvent:調用block語句 (調用block語句要用一根底線,@propert預設提供)

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

_yxpblock(self);

}


//在yxpAppDelegate中使用了block語句

__blockNSString *str=@"觸控螢幕幕";

yxpViewController *viewContro=[[yxpViewControlleralloc]init];

viewContro.yxpblock=^(yxpViewController *viewController){

NSLog(@"---------%@",str);

};

self.window.rootViewController=viewContro;


注意:block語句可以讀取外部變數,但是不能寫入,如果需要在block語句裡修改外部變數,外部變數要用__block (兩根底線)標識

將這個例子弄懂相信你就對block語句有一個初步的瞭解了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.