나는 몇개의 문자열을 가지고있는 Location이라는 이름의 클래스를 가지고있다. View Controller에서이 클래스의 두 인스턴스를 사용하고 있는데 viewDidLoad에서 두 변수를 초기화 할 때 해당 메서드는 제대로 작동하지만 나중에 사용하려고하면 null이됩니다. 나는 그것들을 보유 된 속성으로 설정했다. 나는 그것들을 테스트했고 그것들이 viewDidLoad를 위해 초기화되었다는 것을 알았다. 위치 클래스에서 뭔가 특별한 것을해야만 출시되지 않도록 할 수 있습니까? 다른 방법으로 다시 초기화하면 모든 것이 원활하게 실행됩니다.viewDidLoad에서 초기화 된 변수가 Objective-C에서 값을 보유하지 않는 이유는 무엇입니까?
0
A
답변
1
viewDidLoad에서 제대로 초기화 된 인스턴스 변수는 다른 방법과 마찬가지로 정상적으로 값을 유지해야합니다. 코딩 오류로 인해 설명하는 문제가 발생할 수 있습니다. 동일한 이름의 인스턴스 변수를 숨기고있는 viewDidLoad의 로컬 변수가있는 경우.
0
viewDidLoad가 완료된 후 자동 리프레시되거나 무언가가 초기화 되었기 때문에 사용자 (또는 이벤트 루프)가 초기화중인 객체를 릴리스하고있을 가능성이 높습니다. 이를 막으려면, "retain"속성을 가진 클래스에서 question 속성의 변수를 만들고 dealloc에서 nil로 설정하십시오.
+0
이렇게해도 아무 것도되지 않습니다. – Chuck
관련 문제
- 1. 전역 NSMutableArray가 값을 보유하지 않는 것 같습니다.
- 2. 내 변수가 할당되지 않는 이유는 무엇입니까
- 3. 변수가 aspx.vb에서 aspx로 전달되지 않는 이유는 무엇입니까?
- 4. 이 글로벌 변수가 변경되지 않는 이유는 무엇입니까?
- 5. C# HttpRuntime.Cache.Insert() 캐시 된 값을 보유하지 않음
- 6. ObjectiveC에서 클래스 인스턴스 변수가 'nil'로 초기화 된 포인터입니까? 그렇지 않으면? 당신이 포인터 등을 만들 경우
- 7. 글로벌 변수가 제대로 해결되지 않는 이유는 무엇입니까?
- 8. Erlang 변수가 사용되지 않는 이유는 무엇입니까?
- 9. 이 ref 매개 변수가 전달 된 값을 변경하지 않는 이유는 무엇입니까?
- 10. 서브 클래 싱 된 UITableViewCell은 보유하지 않는 한 좀비를 생성합니다.
- 11. Ruby 초기화 : 내 읽기 명령을 실행하지 않는 이유는 무엇입니까?
- 12. 이 기본 템플릿 매개 변수가 허용되지 않는 이유는 무엇입니까?
- 13. 변수가 NULL 인 이유는 무엇입니까?
- 14. ObjectiveC에서 ECMAscript
- 15. "out"매개 변수가 필요한 이유는 무엇입니까?
- 16. URLRewriter.NET에서 쿼리 문자열 값을 가져 오지 않는 이유는 무엇입니까?
- 17. Image.FromStream는 기본 스트림에 심판을 보유하지 않는
- 18. 내 지능 변수가 5 씩 추가되지 않는 이유는 무엇입니까?
- 19. Curl 및 wget : GET 매개 변수가 사용되지 않는 이유는 무엇입니까?
- 20. 이 인스턴스 변수가 인식되지 않는 이유는 무엇입니까? 내 .H에서
- 21. Eclipse에서 디버깅하는 동안 로컬 변수가 표시되지 않는 이유는 무엇입니까?
- 22. 매개 변수가 항상 setInterval()의 함수로 전송되지 않는 이유는 무엇입니까?
- 23. 스칼라 보조 생성자에 형식 매개 변수가 허용되지 않는 이유는 무엇입니까?
- 24. 이 일괄 처리 변수가 설정 되어도 변경되지 않는 이유는 무엇입니까?
- 25. 서명되지 않은 OpenMP 색인 변수가 허용되지 않는 이유는 무엇입니까?
- 26. 동적으로 할당 된 (초기화 된) 정적 변수가 필요합니다.
- 27. Java : 업데이트 된 값이 반환되지 않는 이유는 무엇입니까?
- 28. PHP 정적 멤버가 값을 보유하지 않음
- 29. 이 변수가 변경되는 이유는 무엇입니까?
- 30. 지속 된 사용자 설정이로드되지 않는 이유는 무엇입니까?
"나중에"는 무엇을 의미합니까? 실제 예제를 줄 수 있습니까? – jtbandes
self.variableName = ...을 사용하여 설정 하시겠습니까? 그렇지 않다면 그렇게하십시오. 그러나 그들이 "일찍"석방 되더라도 왜 그들이 null로 설정 될지 알기가 어렵습니다. viewDidUnload 메소드에서 해당 항목을 지우시겠습니까? 이는 언제든지 볼 수 없을 때 호출 할 수 있기 때문입니다. – Felixyz
'@property (retain)'은 실제로 생성 된 getter와 setter의 축약이기 때문에 효과가있었습니다. autoreleased 오브젝트를 인스턴스 변수에 할당했을 가능성이 큽니다. 속성을 통해 설정하면 값이 유지됩니다. – Justin