0

我知道这个问题已经问了好几次了,但我不明白。

我有 2 个班级 classA.h 和 .m 以及 classB.h 和 .m。

在 classA.h 中,我有一个UITextField *myTextfield. 在 classB 中,我导入 classA 的标头并使用@class classA. 我也设置了classA *classa

如果我尝试像这样获取 myTextfield 的值 myString = classA.myTextfield.text; 什么都没发生

有什么建议我在这里做错了吗?

我将非常感谢您的回答,因为如果没有完成此操作,我将无法继续编码:)

谢谢!

4

1 回答 1

1

Objective-C 类的成员总是私有的。

为了访问另一个类的成员,您需要为这些属性创建访问器方法。最简单的方法是通过属性。

修改你的 classA.h 看起来像这样

@interface classA : UITableViewController
{
  IBOutlet UITextField *myTextfield;
  ...
}
@property(retain, readonly) UITextField * myTextfield;
...
@end

然后修改 classA.m 有

@implementation classA
@synthesize myTextfield;

然后,当您需要在其他类中使用它时,请使用

classa.myTextfield.text

或者最好

[[classa myTextfield] text]

编辑:

还要确保将 myTextField 设置为某个值,方法是将其连接到 Interface Builder 中的某个文本字段。如果这是问题,请参阅示例界面生成器教程。

于 2009-11-12T16:00:46.563 回答