我知道这个问题已经问了几次,但是我没理解。
我有两个班classA.h& .m和classB.h和.m。
在classA.h中我有一个UITextField *myTextfield
。
在classB中,我导入classA的标头并使用@class classA
定义类。
我还设置了classA *classa
。
如果我试图获得myTextfield的值,就像这样myString = classA.myTextfield.text; 没有任何反应
任何建议我在这里做错了什么?
我会非常感谢你的回答因为没有完成这件事,我无法继续编码:)
谢谢!
答案 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教程示例。