아이폰 용으로 개발 한 경험이 있지만 스스로 가르치고 있으며 실습을 개선하려고합니다. 이것은 아마도 프로그래밍에 대해 꽤 입문적인 질문입니다.Objective-C에서 개체 인스턴스간에 데이터를 유지 관리하는 방법은 무엇입니까?
인스턴스 변수를 객체의 모든 인스턴스에 공통된 값으로 유지하는 가장 좋은 방법은 무엇입니까? 객체와 그 속성의 생성, 수정 및 검사를 다른 장소에서 수행 할 수 있습니까?
사용자가 화면을 스 와이프 한 횟수를 추적하는 개체가 있다고 가정 해보십시오. 예를 들어 AppDelegate에서 해당 객체를 할당 한 다음 다른 뷰 컨트롤러에서 해당 객체의 카운트 변수를 증가시킬 수 있습니까?
인스턴스 변수가 속한 객체의 모든 인스턴스에서 공유되도록 인스턴스 변수를 정의 할 수 있습니까? 그것은 문제를 해결할 것입니다.
내가 추적을 유지하기 위해 필요하고 그냥이처럼 그들을 액세스 한 이런 것들에 대한 내 AppDelegate에의지금까지, 난 그냥했습니다 인스턴스 변수 :
((MyAppDelegate *)[UIApplication sharedApplication].delegate).instanceVariable
하지만 난하지 않습니다 그것이 좋은 연습인지 아닌지 아십시오. 아마도 그렇지 않습니다.
아마도 이것은 전역 변수 또는 싱글 톤과 관련이 있습니다. 또는 위에 나타나는 접두어 "공유"및 다른 장소에서도 본 적이 있습니다. 나는 조언이나 방향을 찾고 있습니다. 이 질문이 의미가 있고 너무 일반적이지 않기를 바랍니다.
델리게이트 접근법을 사용할 때의 문제점은 뷰 컨트롤러의 수가 커짐에 따라 매개 변수를 계속 전달해야하며 실제로 처음 뷰 컨트롤러와 마지막 뷰 컨트롤러 만 실제로는 여러 뷰 컨트롤러를 통해 값을 전달한다는 것입니다. 가치에 대해 전혀 신경 쓰지 마라. 이러한 이유로 나는 싱글 톤을 같은 값으로 그룹화하는 것을 선호하므로 코드에서 가장 합리적인 곳에서 값을 저장하고 사용할 수 있으며 모든 곳에서 물건을 전달할 필요가 없습니다. AppDelegate에 물건을 담는 것보다 적어도 하나의 싱글 톤을 만드는 것을 선호합니다. –