-2

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

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

下面是我正在尝试做的一个小例子。

第二视图控制器.m

-(NSString *) 我的字符串{

return @"这是一个字符串";

}

secondviewcontroller.h

@interface SecondviewController : NSObject

-(NSString *) 我的字符串;

@结尾

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

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

4

1 回答 1

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 中,真正重要的不是对象本身,而是它们之间的关系。这一切都与您使用对象作为构建块创建的结构有关。

于 2013-06-25T14:04:09.090 回答