Iphone Objective-C(iOS)访问UITextField';这是另一个班级的课文
这个问题非常基本,如果答案就在我面前,我很抱歉 所以:我有一个UITableView和另一个viewController。我正在更新UITableView的.m文件中CoreData的一些信息。为此,我需要另一个viewController中文本字段中的文本 因此,由于缺乏经验,我尝试:Iphone Objective-C(iOS)访问UITextField';这是另一个班级的课文,iphone,objective-c,ios4,Iphone,Objective C,Ios4,这个问题非常基本,如果答案就在我面前,我很抱歉 所以:我有一个UITableView和另一个viewController。我正在更新UITableView的.m文件中CoreData的一些信息。为此,我需要另一个viewController中文本字段中的文本 因此,由于缺乏经验,我尝试: [实体集合名称:[NSString stringWithFormat:@“%@”,viewController.entityNameInputField.text]] 为了清楚起见,我重新命名了一些东西。实体是
[实体集合名称:[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作为模式视图控制器。所以它向上滑动,然后用户应该在文本字段中输入他喜欢的数据。我明白你的意思,我现在正在尝试。