2012-07-08 3 views
2

5in-a-row 클라이언트를 iOS 플랫폼에 이식하려고합니다. 원래는 Java로 디자인했습니다. 표시해야 할 15 * 15 개의 필드가 있습니다. PC에서 나는 그들 자신에 대해서만 책임이있는 (이벤트 처리, 등등 ..) 개별 객체로 필드를 표현합니다. 모바일 플랫폼에서 동일한 작업을 수행하는 것이 좋은지 잘 모르겠습니다. 제스처 인식기를 225 개 사용하면 너무 유망하지 않습니다. 모든 필드를 하나의 큰 뷰로 병합하는 다른 접근법이 있습니다.이 뷰는 화면 좌표로 일부 수학을 수행하여 드로잉 및 이벤트 처리를 담당합니다. 개인적으로 나는 첫 번째 접근법을 선호합니다. 왜냐하면 그것이 더 많은 OO 기반이기 때문입니다. 성능이 주요한 것이라면 iOS에서 어떤 것을 선호해야합니까? 미리 감사드립니다!iOS 보드 게임 아키텍처

답변

4

성능은 사용자 정의 그려 볼 수있는 CGPoint를 얻고 영역 만 (사각형)을 다시 그려야 UIGestureRecognizer를 사용할 수있는 차의 경우는 UIView을 사용하여 영향 :

- (void)drawRect:(CGRect)rect 

그것은 그 수학을 할 사소한입니다.

그러나 컨트롤과 각 셀의 복잡성에 따라 코드를 유지 관리하기가 어려울 수 있습니다. 각 하위 뷰가 그리는 방법, 핸들 제스처 등을 담당하는 하위 뷰를 사용하여 계층화 된 컨트롤을 만드는 것이 훨씬 더 유지 관리가되고 코드가 더 깨끗해집니다. 더 많은 오버 헤드가 발생합니까? 예. 그게 문제가 될까요? 그렇지 않을 가능성이있다. 그래서, 당신은 그것을 시도하고 측정해야합니다. 하위 뷰와 제스처를 그리는 방법을 알고있는 하위 뷰가있는 총체적인 뷰를 만드는 것이 일반적입니다. 바로 이것이 코코아 터치가 의미하는 것입니다.

+0

나는이 필드가 매우 복잡한 동작을하는 동안 Java에서했던 것처럼 비슷한 방식으로 구현할 것입니다! 감사! – developer110