2013-06-25 4 views
-2

안녕하세요, 저는 NSobject를 통해 변수를 rootviewcontroller에 전달하는 것과 관련하여 질문이 있습니다.전달 변수

2 개의 .h 및 .m 파일 (viewcontroller.m/h 및 secondviewcontroller.m/h라고 함)이 있습니다.

내가하려는 일에 대한 간단한 예 아래에.

secondviewcontroller.m

- (있는 NSString *) mystring에 {

"이 문자열입니다"@ 반환;

}

secondviewcontroller.h

@interface의 SecondviewController : NSObject의

- (는 NSString *)을 MyString;

@end

어떻게 viewcontroller.m에이 변수를 통과 할 수 있어요?

나는 구글에 많이 읽었지만 어디에서 잘못 구현 또는 내 연구의 대부분은 나쁜의 xD

+1

당신이 무엇을 요구하고 있는지 명확히 할 수 있습니까? 일반적으로 당신이 원하는 것을 할 수있는 많은 방법이 있습니다. 대리인 또는 두 번째 멤버가 첫 멤버의 멤버 일 경우 단순히 호출 할 수 있습니다. 내 의견에 대한 내 주된 이유는 이들이 실제로 uikit에서 viewcontroller 될 예정인지 여부를 묻는 것입니다? 그렇다면 NSObject가 아닌 UIViewController에서 파생되어야합니다. –

답변

2

어떻게 viewcontroller.m에이 변수를 전달할 수 있어야하고 무엇입니까?

실제로 변수를 표시하지 않았습니다. -myString은 상수 문자열을 반환합니다. 또한 viewcontroller.m은 단지 구현 파일이라는 것을 기억하십시오. 오브젝트은 서로 통신하는 소스 코드가 아닌 서로 통신하는 것이 좋습니다. 나는 너와 대화하지만 내 DNA는 너의 DNA와 통신하지 않는다.

어쨌든 하나의 물체가 다른 물체와 어떻게 커뮤니케이션 할 수 있는지 묻는 것처럼 들리지만, 그 대답은 단순히 대화에있는 물체 중 적어도 하나가 다른 물체에 대해 알아야한다는 것입니다. 따라서 viewcontroller 클래스의 인스턴스는 다른 객체에서 secondviewcontroller의 인스턴스에 대한 포인터를 가져 오거나 새 인스턴스 자체를 만들 수 있습니다. viewcontroller.m의 코드의 일부 부분이 보일 수 있습니다와 같은 :하지 특히 ​​실제 예입니다,하지만 어느 쪽도 아니 당신이 제공 한 샘플입니다

secondviewcontroller *svc = [[secondviewcontroller alloc] initWithNibName:nil bundle:nil]; 
NSString *someString = [svc myString]; 

. 교훈은 같지만 객체는 서로 메시지를 보내 통신하며 객체는 그 객체를 참조하기 위해 다른 객체에 대한 참조가 필요합니다. 어떤 객체가 다른 객체에 대해 알아야하는지, 어떻게 서로에 대해 알아 내고, 어떤 메시지를 서로에게 보내는지를 파악하는 것은 객체 지향 프로그래밍의 비즈니스입니다. OOP에서 진정으로 중요한 것은 개체 자체가 아니라 개체 간의 관계입니다. 빌딩 블록으로 객체를 사용하여 만드는 구조에 관한 것입니다.

+0

고마워, 나는 아직도 이것을 알아 내고 배우기 단계에있다. 이것에 관한 당신의 이야기는 나를 더 분명하게 보이게합니다. –