Zastanawiam się, dlaczego Apple używa typów danych w Core Foundation, które są typowane do typu wskaźnika, podczas gdy w kakao nie są.Dlaczego Apple wcześniej typedef odniesienia (wskaźnik) typy, ale nie teraz?
Jako przykład odwołujesz się do obiektu UIColor, takiego jak UIColor *
, a odwołanie do obiektu CGColor to CGColorRef
? Lub NSURL *
i CFURLRef
? Dlaczego po prostu nie zawsze używać CGColor *
i CFURL *
? I odwrotnie, dlaczego nie ma żadnych typów, ponieważ nigdy nie masz dostępu bezpośrednio do UIColor
lub NSURL
?
Albo na przykład, dlaczego jest id
i nie id *
, ponieważ w rzeczywistości jest to wskazówka i mogą w rzeczywistości być typecast do void *
?
W szczególności, czy jest jakiś powód, dla którego Apple miał zwyczaj robienia tego w starszych wersjach, ale przestał robić to w Kakao? Czy to po prostu kwestia stylu?
Kakao (jako NeXTStep) jest w rzeczywistości starsze niż Core Foundation. –
Ahh nie zdawałem sobie z tego sprawy. Zawsze zakładałem, że to nowsza. –
A teraz, kiedy o tym wspomniałeś, zdałem sobie sprawę, że to część NeXTStep, myślę, że myślałem o nowszych w ramach frameworków Apple. –