2012-02-07 24 views
1

可能重複:
Caret in objective C什麼是先從對象^目標C意味着

我最近遇到了一些代碼行來了,發現它在^標誌像這樣一個對象的前面:

typedef void (^AnimatedViewBlock)(CGContextRef context, CGRect rect, CFTimeInterval totalTime, CFTimeInterval deltaTime); 
@interface AnimatedView : UIView 

任何人都可以解釋它用相同的簡單例子。

+0

這個問題已經被問過...選中此/ 1912023/caret-in-objective-c – Kris 2012-02-07 12:45:57

+0

請參閱[這裏] [1]。第一個答案鏈接到iOS開發人員庫。 :) [1]:http://stackoverflow.com/questions/2736261/what-is-the-in-objective-c – wonderb0lt 2012-02-07 12:46:13

回答

1

它表示塊對象。

閱讀蘋果文檔here

1

這就是所謂的

的Objective-C類封閉。

Docs here

+0

和downvote是......? – Krizz 2012-02-08 07:20:17

1

符號你指的是表示在目標C的塊的開始。它們主要用於ios中的Grand Central Dispatch,但您也可以在其他地方使用它們。

正如約翰Muchow writes

塊是真的沒有什麼比一個代碼塊多。是什麼使他們 獨特的是,作爲用作 參數轉換爲一個方法/函數通過的塊可以被內聯執行爲好。塊也可以分配給一個 變量,並像C函數一樣被調用。 [Objective-C中插入符號] [1] [1] :http://stackoverflow.com/questions

+0

感謝您的回覆......我已經瀏覽了蘋果文檔,雖然他們對此有一個很好的解釋,但仍然困惑我們爲什麼需要塊,因爲它們與函數類似,那麼在什麼情況下它們將被使用。 – 2012-02-07 15:56:24

+0

如果你要複製別人的話,一定要引用他們並引用他們。否則,你在抄襲。 – 2012-02-07 17:36:03

+0

好的...我在網站上讀到它.. iphonedevelopertips.com – 2012-02-07 18:38:23