如何从其他类访问方法?

时间:2009-11-12 15:49:43

标签: iphone class shared

我知道这个问题已经问了几次,但是我没理解。

我有两个班classA.h& .m和classB.h和.m。

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

如果我试图获得myTextfield的值,就像这样myString = classA.myTextfield.text; 没有任何反应

任何建议我在这里做错了什么?

我会非常感谢你的回答因为没有完成这件事,我无法继续编码:)

谢谢!

1 个答案:

答案 0 :(得分: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中的某个文本字段。如果出现问题,请参阅Interface Builder教程示例。