2009-12-16 5 views

답변

6

iPhone OS는 Leopard 직전에 데뷔했으며, 이제는 Objective-C 2.0을 사용해 왔습니다. iPhone에서의 Garbage Collection의 부족함과는 달리, iPhone의 Objective-C 런타임은 32 비트 Mac 응용 프로그램의 Legacy Runtime과 달리 Modern Runtime입니다. (See this Apple doc.)이 구별의 중요한 결과 중 하나는 인스턴스 변수가 깨지기 쉽지 않다는 것입니다. 즉, 클래스의 인스턴스 변수를 변경할 때 하위 클래스를 다시 컴파일 할 필요가 없으며 속성에 대한 변수를 합성 할 수 있습니다 .

+0

흥미 롭습니다. 레거시 런타임과 모던 런타임 비트에 대해 몰랐습니다. 필자는 Leopard 이후 Mac 용으로 개발하여 Leopard 이상만을 대상으로하므로 차이점을 알지 못했습니다. 감사. –

+0

문제는 없지만 작년에 훌륭한 차이점에 대해서만 배웠습니다. Pre-Leopard를 지원할 필요가 없다면 실제로 운이 좋을 것입니다. 32 비트 응용 프로그램은 여전히 ​​레거시 런타임을 사용합니다. –

관련 문제