2017-11-19 4 views
1

내 앱에 차트를 넣기 시작했습니다. 처음에는 CGMutablePath()를 사용했지만 NSBezierPath()에 리팩터링했습니다. NSBezierPath()에서 "NS"를 사용하면 혼란 스럽습니다. 이전 방법과 내가 CGMutable 경로를 사용해야하는지는 궁금했습니다.CGMutablePath 또는 NSBezierPath를 사용해야합니까?

내가 다른 것을 사용해야하는지 여부를 알려주실 수 있습니까? 만약 그렇다면 어느 것을 사용할지 결정할 것입니다. NSBezierPath가하는 일에 대해 더 간단한 코드가 생성되었습니다.

나는 SWIFT 4와 엑스 코드 (9)

감사 스티븐 CG로 핵심 그래픽을 의미하고, C 스타일의 그래픽 API입니다

+0

더 이상 사용되지 않으며 더 이상 사용되지 않을 것을 암시하지 않습니다. 따라서, 필자의 생각은 당신이 더 잘 맞는, 읽기/쓰기가 더 쉽고/더 간단하다고 생각하는 것을 사용하는 것입니다. – Alp

+0

감사합니다. Thats는 알고있다. –

답변

1

을 사용하고 있습니다. C가된다는 것은 객체 지향이 아니기 때문에 그래픽 컨텍스트 나 CGPath와 같은 것에 대한 포인터를 전달해야합니다. Swift 3에서는 구문 적 설탕을 사용하여 컴파일러가이 작업을 수행하고 API를 객체 지향적으로 보이게하기 때문에 그것은 아닙니다 (CG 기능에 대한 객관적인 관점과 신속한 문서를 비교하면 그 차이를 분명하게 볼 수 있습니다). NS 함수는 CG 함수에 대한 객체 지향 객관적인 C 래퍼입니다. 예를 들어 CFString (C 버전)과 NSString (객관적인 C 버전)과 같은 많은 사과 API에서이를 볼 수 있습니다. 나는 사람들이 일상적으로이 규칙을 무시하지만 당신이 달리 할 이유가 없다면 애플의 권고는 최고 수준의 API를 사용하는 것이라고 믿는다. 예를 들어 나는 거의 항상 사람들이 NSOperationQueue 대신에 메인 쓰레드에 접근하기 위해 GCD를 사용하는 것을 보았다. 좋아하는 API를 사용하십시오. Objective C, C 또는 C++에서와 마찬가지로 대단히 중요하지 않습니다.

+0

감사합니다. 사물 뒤에있는 추론을 이해하는 것이 좋습니다. –

관련 문제