에 보관 자기,이로드 좋은 시도까지 어떤 시점에서 롤업을해서 나는 나쁜 접근으로 추락했다. 이것은 locationsArray가 유지되지 않기 때문입니다.내가 속성으로 정의 된있는 NSMutableArray * locationsArray을 내 .H 파일에있는 NSMutableArray
이 코드 라인이 줄의 코드도 같은 문제를 해결
locationsArray = [[Locations loadLocations] retain] (#1)
하는 .m 내 문제를 해결
self.locationsArray = Locations.loadLocations (#2)
나는 몇 가지 질문은 내가
에 대한 설명이 필요가- 이 값을 설정하는 올바른 방법은
alloc
입니다.,alloc initwithArray
? - 자바 세계에서오고있다 나는
self
이 아니면 적어도 내가 생각했던 것 ... 이없는locationsArray
이 없으면 목표가 다르다.
분명히 나는 그것을 작동시키지 만, 그 이유는 무엇인지 여전히 혼란 스럽습니다. 어떤 도움을 주시면 감사하겠습니다.
이 문제의 위험을 피하기 위해 밑줄이없는 속성과 밑줄 문자가있는 ivars를 많이 사용하는 이유는 무엇입니까? – jimsis
사람들이 그렇게하는 이유 중 하나입니다. 범위 마킹에 대한 일반적인 이유는 (a) 코드를 읽을 때 함수 내부에서 한 눈에 볼 수있는 것은 지역 변수이고 아이바 (itar) 란 무엇인지, 그리고 (b) 편의상 메소드가 (흔히 세터)는 같은 이름의 param을 취합니다. ivar를 숨기는 것을 피하기 위해 바보 같은'theString' 또는'anEvent'를 쓸 필요는 없습니다. Obj-C 2.0에서 getter/setter 점 표기법을 싫어합니다. 도움이되기보다는 혼란 스럽기 때문에 직접 사용하지 않습니다. YMMV. –