2009-12-16 16 views
30

Co oznacza cel w C?Caret in objective C

tj.

void (^handler)(NSInteger);

z Mac Dev Center

+0

Warto również zauważyć, że bloki są rozszerzeniem C dodanym przez Apple zgodnie z [Wikipedia] (http://en.wikipedia.org/wiki/Blocks_ (C_language_extension)). – styfle

+0

Jest podobny do lambda w Lisp lub Python –

Odpowiedz

30

To zależy od kontekstu. W pokazanym przykładzie jest on używany do oznaczenia bloku. Symbol daszek jest również bitwise XOR operator w językach C opartych - to większość programistów będzie zidentyfikować go jako, więc dobrze jest zrozumieć, że może on być zarówno w zależności od tego, gdzie wydaje się, podobnie jak * itp

i choć sugerujemy odniesienia, po jednym musi zawierać Apple's official Blocks reference.

10

daszek stanowi blok lub zamknięcie, które przenosi się wokół lub zawiera zakres słowne. Są podobne do bloków w rubinie. Doskonały odnośnik można znaleźć here.

+0

Czy mógłbyś podać więcej szczegółów? – Casebash

+2

dodał powyższy odnośnik, który powinien zacząć – ennuikiller

3

Jak powiedział ennuikiller, wskazuje blok. Jeśli chcesz dowiedzieć się więcej, Ars Technica miał znakomite dogłębne review Snow Leopard, które opisywały nie tylko bloki i zamknięcia, ale także Grand Central Dispatch i wszystkie inne nowe technologie w Mac OS X 10.6. Wysoce polecany.