我必须重新签名在视图控制器中创建的文本字段,并且需要在NSObject类中重新签名该文本字段。如果我在NSObject中为视图控制器创建一个对象,它将创建一个新实例,并且无法访问该文本字段。我的代码是
ViewController.m
-(void)viewWillAppear:(BOOL)animated
{
cardNo1=[self createTextField:80 :230 :45 :26 :@"Helvetica Light":NSTextAlignmentCenter];
cardNo2=[self createTextField:128 :230 :45 :26 :@"Helvetica Light":NSTextAlignmentCenter];
cardNo3=[self createTextField:176 :230 :45 :26 :@"Helvetica Light":NSTextAlignmentCenter];
cardNo4=[self createTextField:224 :230 :45 :26 :@"Helvetica Light":NSTextAlignmentCenter];
cardNo5=[self createTextField:272 :230 :35 :26 :@"Helvetica Light":NSTextAlignmentCenter];
}
NSObject.m
-(void)_timerFired
{
ViewContoller *iphoneobj=[[ViewContoller alloc]init];
[iphoneobj1.cardNo1 resignFirstResponder];
[iphoneobj1.cardNo2 resignFirstResponder];
[iphoneobj1.cardNo3 resignFirstResponder];
[iphoneobj1.cardNo4 resignFirstResponder];
}
在NSObject类中它将为视图控制器创建一个新实例,因此cardNo1,cardNo2等将返回nil对象,任何人都可以建议如何在NSObject类中重新签名文本字段
答案 0 :(得分:0)
你不能这样做,如果你正在分配视图控制器,那么你需要初始化你的文本字段,之后只有你可以访问它。因此,请尝试修改代码,使其不应在timerFired
方法中分配init视图控制器。但您可以直接检查视图控制器的实例,如果存在,则尝试访问文本域。
答案 1 :(得分:0)
我通过在NSObject类中创建该视图控制器的对象得到了我的答案,该对象的值将在视图控制器类中分配,我将使用NsObject类中的该对象访问我的文本字段。