2013-09-03 2 views
0

저는 앱을 만들고 데이터 저장소로 Parse.com을 사용하고 있습니다.IOS 모델을 설치하는 올바른 방법은 무엇입니까?

저는 제가 사용하는 Parse의 모든 다른 측면에 대해 Model을 사용하고 싶습니다. 예를 들어, 일부 게임 데이터를 저장하는 경우 모델에서 파스에서 개최 된 게임 모델에 모든 찾기/업데이트/항목을 처리하도록하고 싶습니다.

그래서 모델을 View Controller에 추가하는 대신이 모든 메서드를 처리 할 수있게하고 싶습니다.

최대/올바르게 설정하는 방법은 무엇입니까? 나는 싱글 톤 (singleton)에 대해 들어 왔지만 그들이 올바른지 확실하지 않다.

현재 NSObject의 하위 클래스를 사용하여이를 설정합니다. 그런 다음 모든 메소드를 클래스 메소드로 작성합니다 (작성할 인스턴스가 없으므로 인스턴스 메소드가 없음). 나는 평소대로 모든 클래스 메서드를 호출한다.

[GameModel classMethodName]; 

이것이 맞습니까? 이 접근법에 더 나은 접근법이나 문제가 있습니까?

답변

0

현재 NSObject의 하위 클래스를 사용하여 설정합니다. 그런 다음 메서드를 클래스 메서드로 만듭니다 (인스턴스 메서드가 없으므로 만들려는 인스턴스가 없습니다). 나는 평소대로 모든 클래스 메서드를 호출한다.

이것은 아주 좋은 계획처럼 들리지 않습니다. 모델 작업은 응용 프로그램이 작동하는 데이터를 관리하는 것입니다. 이는 모델에 저장할 데이터가 있어야한다는 것을 의미합니다. 즉, 모델을 인스턴스화해야한다는 의미입니다.

백 엔드 인프라 (사례에서 파스)에 대한 지원을 구축하는 것이 좋습니다. 보기 컨트롤러에 넣는 것보다 놓는 것이 훨씬 낫습니다. 그러나이 지원 코드는 게임 상태 또는 플레이어의 기록을 어디에 저장합니까? 모델 객체에 저장해야합니다.

전체 싱글 톤 대 싱글 톤 대 싱글 웜 (예 : Google)을 악용하지 않으면 사람들이 종종 싱글 톤을 사용하는 것과 같은 이유로 쉽게 클래스 액세스를 사용할 수 있습니다. 클래스를 인스턴스화하고 클래스 메소드 대신 인스턴스 메소드를 사용하면 필요로하는 객체와 모델을 공유하는 방법을 찾아야하며, 이는 전역 적으로 액세스 가능한 클래스 메소드를 사용하는 것보다 더 효과적입니다. 그래도 그 일을하면 더 나은 응용 프로그램을 만들 수 있습니다.

예를 들어 각보기 컨트롤러의 액세스를 필요한 모델 부분에만 제한 할 수 있습니다. 게임 플레이보기 컨트롤러는 현재 게임 보드 만 볼 수 있으며, 상위 점수보기 컨트롤러는 플레이어의 기록 만 볼 수 있습니다. 게임 보드 뷰 컨트롤러가 플레이어 히스토리에 문제를 일으키는 지 여부는 궁금하지 않아도됩니다.

+0

대단한 답변을 보내 주셔서 감사합니다. 현재 각 파스 모델에 대해 위에서 설명한 모델을 만듭니다. 그래서 나는 예를 들어 게임 모델과 플레이어 모델, 스코어 모델을 만들 것입니다. 그렇다면 각 모델에 클래스 메서드 만 있습니다. 그렇게하면 관련 모델 만 포함 할 수 있고 필요한 방법에만 액세스 할 수 있습니다. 그것이 맞을까요? 아니면 실제로 각 모델을 실제 모델로 만들고 인스턴스가 있어야한다고 생각합니까? 그래서 PFObject의 서브 클래스를 만들고 init은 Parse 객체 등을 생성 할 것인가? – StuartM

+0

다른 정보를 알려주십시오. – StuartM

관련 문제