2014-09-29 8 views
17

Czy w ogóle możliwe jest, aby Xcode utworzył plik .playground dla Objective-C zamiast Swift? Czy są dostępne jakieś wtyczki Xcode, które to umożliwiają?Place zabaw dla Objective-C

Odpowiedz

7

Jest bardzo dobra biblioteka opracowana przez Krzysztof Zabłocki w Github prawo KZPlayground które obsługują zarówno kod na placach zabaw dla Objective-C i Swift i wiele ciekawych funkcji.

Mam nadzieję, że to może ci pomóc.

3

Na placu zabaw jest wystarczająco dużo ruchomych części, a wszystkie te elementy musiałyby zostać ponownie zaimplementowane w celu C. Niezawodne place zabaw również zależą od określonej inicjalizacji, której Objective-C nie ma.

Na przykład rozważyć:

var d: NSData // this is not initialized, so I can't use it 

vs.

NSData *d; // this is also not initialized, but now I can use it 

Jeśli jestem osobą przechowywania opis swojej NSData na pasku bocznym, teraz wiem, że nie jestem robić

describe(d) 

w sprawie Swifa, ale w przypadku sprawy C nie posiadam jednakowej wiedzy i prowadzę ISK powiedzieć

[d description]; // even though d is a random pointer now.. oops, I just crashed! 

Krótko mówiąc, nie sądzę, coś takiego istnieje, a co jeden utwór będzie również obejmować pewne sztuczki

+1

Wywołanie 'description' (lub dowolny sposób) do' zerowe nie upaść w Objective-C. – nhgrif

+2

nil tak naprawdę mnie nie niepokoi, to niezainicjowana pamięć, która robi –

+0

Zmienna d rzeczywiście zostanie zainicjalizowana do zera, jeśli używasz ARC. Więc bez awarii. – KPM

9

Można szybko przetestować fragmenty kodu przy użyciu przypadek testowy w nowym projekcie . Po prostu utwórz nowy projekt i przejdź do okna Navigator w lewym okienku i naciśnij przycisk Testuj tester . Następnie postępuj this guide

enter image description here

Kodeksu konfiguracja będzie wyglądać trochę inaczej niż szybkiej zabaw, ale nadal pozwala na prototyp i bawić.

enter image description here

3

Jeśli jedynym celem jest przetestowanie fragmentów Objective-C, naprawdę polecam projekt narzędziowy wiersza poleceń systemu OS X.

enter image description here