在Viewcontroller中创建文本字段并在NsObject类中重新签名文本字段

时间:2014-11-05 09:00:47

标签: objective-c iphone textfield

我必须重新签名在视图控制器中创建的文本字段,并且需要在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类中重新签名文本字段

2 个答案:

答案 0 :(得分:0)

你不能这样做,如果你正在分配视图控制器,那么你需要初始化你的文本字段,之后只有你可以访问它。因此,请尝试修改代码,使其不应在timerFired方法中分配init视图控制器。但您可以直接检查视图控制器的实例,如果存在,则尝试访问文本域。

答案 1 :(得分:0)

我通过在NSObject类中创建该视图控制器的对象得到了我的答案,该对象的值将在视图控制器类中分配,我将使用NsObject类中的该对象访问我的文本字段。