您好我有一个关于通过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
答案 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中,真正重要的不是对象本身,而是它们如何相互关联。这是关于使用对象作为构建块创建的结构。