Czy istnieje jakiś techniczny powód, dla którego Objective-C używa TAK i NIE zamiast 1 i 0, czy może po prostu jest to bardziej czytelne?Dlaczego Objective-C używa YES i NO zamiast 1 i 0?
Odpowiedz
typedef signed char BOOL;
// BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C"
// even if -funsigned-char is used.
#define OBJC_BOOL_DEFINED
#define YES (BOOL)1
#define NO (BOOL)0
(Dla odniesienia)
[button setAttr:YES];
Brzmi ładniejszy IMHO potem ...
[button setAttr:TRUE];
Uczynienie go bardziej czytelnym jest z przyczyn technicznych.
To tylko składnia, nie ma z tego technicznego powodu. Po prostu używają TAK/NIE dla swoich BOOL zamiast prawdziwych/fałszywych jak C++.
Uprzejmie głosowano, ponieważ nie odpowiada na pytanie. –
Z tego samego powodu większość języki używać true
i false
... Można używać 1 i 0, jeśli chcesz, tak samo jak każdy z tych języków.
Naprawdę, jeśli myślisz o tym, że mówimy o:
#define YES 1
#define NO 0
To po prostu ładniejszy czytać.
To samo jak prawda/fałsz ..
nie pytaj mnie dlaczego oni odkrywać koła i zmienił nazwiska.
Moja pesonal Domyślam się, że projektant język pomyślałem, że byłoby fajnie być inaczej ... (Tak, wiem, że będę się downvotes od wentylatora chłopców) ..
Nie sądzę, że wymyślili nowe koło, ale po prostu dodają przejrzystości. I tak, właśnie to. – Rev316
To nie tyle, że "wymyślili" koło. Poprzedziły one wykonanie booleans w C.Nie mając nic do skopiowania, zaimplementowali go tak, jak chcieli. –
Koło Apple: http://www.youtube.com/watch?v=9BnLbv6QYcA –
C (na którym Cel -C oparte) nie ma typu boolowskiego do C99.
Objective-C został stworzony w latach 80. i zdefiniował własny typ boolowski.
'Objective-C' to _to 80-szy styl. –
Ponieważ programista oznaczatak i nr, nie i .
Wcześniej przegłosowano, ponieważ nie odpowiada na pytanie. Co najwyżej jest to komentarz. –