문제

나는 Objective-C를 처음 접했고, 배우면서 나는 내 자신의 프로그램을 만들려고 노력하고 있습니다. 아이디어는 변수 (또는 객체?)가 이름이 있다는 것입니다. totalSave, 방법 addToTotalSaved 매개 변수로 saveAmount, 및 여러 객체 (각 객체는 매개 변수를 제공합니다. saveAmount 행동 할 때 다른 가치) addToTotalSaved '보내기'또는 용어가 무엇이든 totalSave ~하도록 하다 totalSave 올바른 금액만큼 증가합니다.

우선, 코드가 어떻게 잘못되었는지에 대한 나의 생각이 더 나은 방법을 제공 할 수 있습니까? ... 나는 이것이 복잡하지 않아야한다고 생각합니다. 그렇지 않으면 내 질문은 totalSave 이다? int? nsinteger? 객체?

도움이 되었습니까?

해결책

지나치게 복잡하게 만든 것처럼 들립니다. 분명히 아이디어는 실제로 "이름이 지정된 변수가 있습니다. totalSave"사용자는 저장 위치에 대해 덜 신경 쓰고 게시물의 나머지 부분에서 실제로 저장 방법에 관심이 없습니다.

즉, 이것을 좀 더 구체적으로 만들기 위해 프로그램의 많은 부분이 추가 할 수있는 "총 점수"상태에 대해 생각해 봅시다. 몇 가지 접근 방식이 있습니다. 어쨌든, 당신은 점수를 추적하는 어딘가에있는 물체가있을 수 있습니다. 우리는 그것을라고 부를 것입니다 Game 물체이지만 a Level 또는 무엇이든.

그래서 세 가지 큰 사고 학교가 있습니다 : 당신은 이것을 통과 할 수 있습니다 Game 모든 사람에게 객체를 가질 수 있습니다 Game 싱글 톤 또는 알림을 사용할 수 있습니다. 이러한 각 접근 방식에는 장점이 있으며, 선택한 방법은 간단한 프로그램에 적합 할 것입니다 (개인적으로는 매우 간단한 프로그램의 경우 싱글 톤을 사용합니다).

첫 번째 계획에서 프로그램의 어느 시점에서 당신은 Game 일부가있는 대상 addToScore: 방법. 이 객체를 점수를 업데이트 해야하는 다른 모든 객체에 속성으로 할당합니다. 각각의 전화 [self.game addToScore:value]. 이 접근법은 장치 테스트가 조금 더 간단하지만 구현하기가 약간 지루할 수 있습니다.

두 번째 계획에는 일부가 있습니다 공유 싱글 톤 +[Game sharedGame]. 점수를 업데이트하려면 전화하십시오 [[Game sharedGame] addToScore:value]. 이것은 일반적으로 구현하기위한 Easiet입니다.

세 번째 계획에는 몇 가지 객체가 있습니다 (Game) 사용합니다 NSNotificationCenter 일부 알림을 관찰합니다. 점수를 업데이트하려면 사용자 사전에 추가 할 금액이 포함 된 알림 만 게시합니다. 이것은 물건을 극도로 분리하는 데 도움이되지만 더 일반적인 경우에는 조금 지루할 수 있습니다.

그러나 @chuck이 언급 한 바와 같이, 당신은 아마도 이것을 지나치게 생각하고 있으며, 당신은 이런 것들이 일반적으로 어떻게 작동하는지 더 잘 이해하기 위해 튜토리얼 중 일부를 통해 돌아가고 싶을 것입니다. 당신이 묘사하는 상황은 그다지 복잡하지 않습니다.

다른 팁

총체적인 정수 값을 포함하는 클래스를 원하는 것처럼 들립니다. 그런 다음 해당 클래스에 A 함수 AddTototal (somenum)을 제공하고 싶습니다.

아마도 당신은 모든 절차 적 으로이 일을 할 수 있지만,이 총계를 재사용하려면 수업에 넣는 것이 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top