传递变量

时间:2013-06-25 13:49:25

标签: objective-c

您好我有一个关于通过NSobject将变量传递到rootviewcontroller的问题。

我有2个.h和.m文件(名为viewcontroller.m / h和secondviewcontroller.m / h)。

在我想要做的事情的一个小例子下面。

secondviewcontroller.m

  

- (NSString *)mystring {

     
    

return @“这是一个字符串”;

  
     

}

secondviewcontroller.h

  

@interface SecondviewController:NSObject

     
    

- (NSString *)mystring;

  
     

@end

我如何将此变量传递给viewcontroller.m?

我在谷歌上看了很多但是大多数错误的实现或我的研究都很糟糕xD

1 个答案:

答案 0 :(得分: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中,真正重要的不是对象本身,而是它们如何相互关联。这是关于使用对象作为构建块创建的结构。