如何从另一个类访问方法?

发布于 2024-08-10 13:14:01 字数 396 浏览 4 评论 0原文

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

我有 2 个课程 classA.h & .m 和 classB.h 和 .m。

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

如果我尝试像这样获取 myTextfield 的值 myString = classA.myTextfield.text; 没有任何反应

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

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

谢谢!

I know this question was already ask several times but i don't get it.

I have 2 classes classA.h & .m and classB.h and .m.

In classA.h i've got a UITextField *myTextfield.
In classB i import the header of classA and define the class with @class classA.
I also set classA *classa.

if i try to get the value of myTextfield like this myString = classA.myTextfield.text;
nothing happens

any suggestions what i'm doing wrong here?

i would be so thankfull for an answer becaus without getting this done i can't continue coding :)

thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

So要识趣 2024-08-17 13:14:01

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 示例教程。

members of Objective-C classes are always private.

In order to access the members of another class, you need to create accessor methods to these properties. The easiest way to do this is is via properties.

Modifiy your classA.h to look like this

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

Then modify classA.m to have

@implementation classA
@synthesize myTextfield;

Then when you need to use it in the other class use either

classa.myTextfield.text

Or preferably

[[classa myTextfield] text]

Edit:

Also make sure that myTextField is being set to some value, by hooking it up to some text field in Interface Builder. See a sample Interface Builder tutorial if this is the problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文