2013-03-27 1 views
1

내 메인보기 클래스에서 나는 TCP 소켓을 통한 연결 인 다른 클래스의 인스턴스를 가지고있다.보기간에 인스턴스 참조가 손실되지 않습니까?

내가 그 사진을 남기고 돌아갈 때, 나는 새로운 연결을 만들고 싶지 않기 때문에이 인스턴스를 자유롭거나 잃고 싶지 않다. 똑같이 유지되어야한다. (소켓은 항상 채팅과 같다)

 socketInstance=[[SocketConnector alloc]init]; 
     socketInstance.delegate=self; 

은 처음 실행에서, 뷰의 init에서 수행됩니다. 보다, 내가보기를 떠나 다시 돌아올 때 (내가이 줄을 다시 수행하지 않으면) 그는 나를 위해 socketInstance 참조를 저장할 것인가? 만약 그렇다면, 남은 평생 동안 그를 어떻게 살릴 수 있습니까? 이 인스턴스를 반복해서 만들 수 없습니다.

답변

1

정적 변수를 사용할 수 있습니까? 그렇지 않으면 singleton pattern을 사용하여 글로벌 보관할 수 있습니다.

+0

감사합니다. 어떻게 정적을 사용합니까? 그리고 싱글 톤에 대해서, 내가 메인 뷰에 델리게이트를 가져야한다는 것을 잊지 마라. – Curnelious

+0

'SocketConnector'의 싱글 톤은 여전히 ​​델리게이트를 유지할 수있다 ... 당신이 무엇을 의미하는지 확실하지 않다. – Fonix

+0

나는이 [개인적으로 answer] (http://stackoverflow.com/a/145164/1219956)는 projectname-Prefix.pch 파일에 머리글을 포함 할 수 있습니다. 그러면 개체의 인스턴스를 반환 할 정적 함수에 액세스 할 수 있습니다. 그것을 – Fonix

관련 문제