Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone Objective-C(iOS)访问UITextField';这是另一个班级的课文_Iphone_Objective C_Ios4 - Fatal编程技术网

Iphone Objective-C(iOS)访问UITextField';这是另一个班级的课文

Iphone Objective-C(iOS)访问UITextField';这是另一个班级的课文,iphone,objective-c,ios4,Iphone,Objective C,Ios4,这个问题非常基本,如果答案就在我面前,我很抱歉 所以:我有一个UITableView和另一个viewController。我正在更新UITableView的.m文件中CoreData的一些信息。为此,我需要另一个viewController中文本字段中的文本 因此,由于缺乏经验,我尝试: [实体集合名称:[NSString stringWithFormat:@“%@”,viewController.entityNameInputField.text]] 为了清楚起见,我重新命名了一些东西。实体是

这个问题非常基本,如果答案就在我面前,我很抱歉

所以:我有一个UITableView和另一个viewController。我正在更新UITableView的.m文件中CoreData的一些信息。为此,我需要另一个viewController中文本字段中的文本

因此,由于缺乏经验,我尝试:

[实体集合名称:[NSString stringWithFormat:@“%@”,viewController.entityNameInputField.text]]

为了清楚起见,我重新命名了一些东西。实体是我的实体(不是开玩笑),我正在设置的属性名为Name,viewController是textField所在的位置,而文本字段名为entityNameInputField

我更感兴趣的是为什么这类事情不起作用,而不是我的问题的解决方案可能是什么。为什么我不能用这种方式从文本字段中获取文本

我想用不同的词来形容一切:

如果我在类A中,我想访问类B中的NSString的值,为什么我不能只使用ClassA.TheString或[ClassA TheString]。。。。据我所知,我正在发送这些对象getter方法,但我似乎不明白为什么这不起作用


任何帮助都将不胜感激:)

更多的代码将有助于了解可能导致混淆的原因,但是如果您在类中声明了相关实例变量的属性(或手动声明了访问器),那么您将能够访问相关的IVAR

所以,像下面这样的东西可以很好地工作

MyClassA * instanceOfA = [[myClassA alloc] init];
MyClassB * instanceOfB = [[myClassB alloc] init];

instanceOfA.myProperty = instanceOfB.myProperty;

据我所知,这不是从另一个类访问值的问题。假设两个视图控制器都保留在内存中,则始终可以调用彼此的getter/setter

我假设您有一个名为a的UITableViewController,然后您将显示一个名为B的自定义UIViewController和一个文本字段。用户点击文本字段中的某些内容,您希望该文本返回到表视图控制器。如果在B内部有对a的有效引用,则可以调用相应变量的setter,然后关闭自定义控制器

例如,在B的标题中,可以有:

@interface MyViewController : UIViewController {
     id tableViewController;
}
@property (nonatomic, retain) id tableViewController;
然后在A中,当您创建B时:

MyViewController *B = [[MyViewController alloc] init];
B.tableViewController = self; // this passes a reference to A
因此,当您在B中,并且用户在文本字段中输入了输入时,您可以执行以下操作

[self.tableViewController setVarname:textField.text];
假设a中有一个varname变量,B中有一个textField

您还可以通过调用

[self parentViewController]

如果这更适合你的话。

啊哈。。。这开始变得更有意义了。但是,如果我在类A中创建类B的实例,那么文本字段的值不是总是空的吗?这取决于instanceOfA是如何初始化的。你可以控制它。我使用UIViewController作为模式视图控制器。所以它向上滑动,然后用户应该在文本字段中输入他喜欢的数据。我明白你的意思,我现在正在尝试。