지나치게 복잡하게 만든 것처럼 들립니다. 분명히 아이디어는 실제로 "이름이 지정된 변수가 있습니다. totalSave
"사용자는 저장 위치에 대해 덜 신경 쓰고 게시물의 나머지 부분에서 실제로 저장 방법에 관심이 없습니다.
즉, 이것을 좀 더 구체적으로 만들기 위해 프로그램의 많은 부분이 추가 할 수있는 "총 점수"상태에 대해 생각해 봅시다. 몇 가지 접근 방식이 있습니다. 어쨌든, 당신은 점수를 추적하는 어딘가에있는 물체가있을 수 있습니다. 우리는 그것을라고 부를 것입니다 Game
물체이지만 a Level
또는 무엇이든.
그래서 세 가지 큰 사고 학교가 있습니다 : 당신은 이것을 통과 할 수 있습니다 Game
모든 사람에게 객체를 가질 수 있습니다 Game
싱글 톤 또는 알림을 사용할 수 있습니다. 이러한 각 접근 방식에는 장점이 있으며, 선택한 방법은 간단한 프로그램에 적합 할 것입니다 (개인적으로는 매우 간단한 프로그램의 경우 싱글 톤을 사용합니다).
첫 번째 계획에서 프로그램의 어느 시점에서 당신은 Game
일부가있는 대상 addToScore:
방법. 이 객체를 점수를 업데이트 해야하는 다른 모든 객체에 속성으로 할당합니다. 각각의 전화 [self.game addToScore:value]
. 이 접근법은 장치 테스트가 조금 더 간단하지만 구현하기가 약간 지루할 수 있습니다.
두 번째 계획에는 일부가 있습니다 공유 싱글 톤 +[Game sharedGame]
. 점수를 업데이트하려면 전화하십시오 [[Game sharedGame] addToScore:value]
. 이것은 일반적으로 구현하기위한 Easiet입니다.
세 번째 계획에는 몇 가지 객체가 있습니다 (Game
) 사용합니다 NSNotificationCenter
일부 알림을 관찰합니다. 점수를 업데이트하려면 사용자 사전에 추가 할 금액이 포함 된 알림 만 게시합니다. 이것은 물건을 극도로 분리하는 데 도움이되지만 더 일반적인 경우에는 조금 지루할 수 있습니다.
그러나 @chuck이 언급 한 바와 같이, 당신은 아마도 이것을 지나치게 생각하고 있으며, 당신은 이런 것들이 일반적으로 어떻게 작동하는지 더 잘 이해하기 위해 튜토리얼 중 일부를 통해 돌아가고 싶을 것입니다. 당신이 묘사하는 상황은 그다지 복잡하지 않습니다.