所以,我有两个类,A类和B类。从A类开始,当按下一个按钮时,我有一个B类实例初始化并调用它的方法testMethod
。它设置了一个名为UITextField
的{{1}}的文本,并在此方法中调用text
,但只在调用方法时调用NSLog
!我不知道我做错了什么,这是我的代码(假设两个类都是NSLog
个子类,并且在头文件中定义了一个名为UIViewController
的实例:
ClassA.m
b
ClassB.m (是的,-(IBAction)sendData:(id)sender
{
b = [[ClassB alloc] init];
[b testMethod];
[[self navigationController] pushViewController:b animated:YES];
}
属性化并合成)
UITextField
编辑:我解决了这个问题。我所做的是将一个变量从A类传递给B类,然后从那里设置它的文本字段。
答案 0 :(得分:0)
B组是否知道用UITextField
来设置文字?
如果没有,您可以尝试将对象添加到函数标题中,如。
-(void)testMethod:(UITextField *)text;
-(void) testMethod:(UITextField *)text
{
[text setText:@"Text"];
NSLog(@"This is the only thing getting called in this method");
}
[b testMethod:textfield]; //textfield is a object of UITextField
答案 1 :(得分:0)
根据您提供的信息:您正在使用IB,并且您认为Interface Builder中的所有内容都已正确连接。
假设您的ClassB视图控制器的nib文件是“ClassB.xib”。
而不是
b = [[ClassB alloc] init];
使用
b = [[ClassB alloc] initWithNibName:@"ClassB.xib" boundle:nil];