【问题标题】:UITextField isn't being set from a delegate method, but the same can be set from other methodsUITextField 不是从委托方法设置的,但可以从其他方法设置相同的
【发布时间】:2013-11-28 09:15:24
【问题描述】:

在 FirstViewController.h 中我声明了一个委托

id _delegate;

@property (nonatomic,strong) id _delegate;
-(void)startSampleProcess:(NSString *) arguement1;

在 FirstViewController.m 我已经实现了 startSampleProcess

-(void)startSampleProcess:(NSString *)arguement1{

[textField1 setText:@"rajesh"];//Setting SOME text Field
}

在 CustomCell.m 中,我在 TextField 委托方法之一中声明并使用了委托对象

 -(void)textFieldDidEndEditing:(UITextField *)textField{

     sampleProtocol  = [[iOSFirstViewController alloc]init];
     sampleProtocol._delegate = self;

     [sampleProtocol startSampleProcess:@"MASTER COMPUTER"];
      NSLog(@"textFieldDidEndEditing");
} 

【问题讨论】:

    标签: ios objective-c delegates xcode4.5


    【解决方案1】:

    尝试像这样声明协议

    @protocol SampleProcessDelegate <NSObject>
    -(void)startSampleProcess:(NSString *) arguement1;
    @end
    @interface PocketBugzDropDownView : UIView<UITableViewDataSource,UITableViewDelegate>
    {
    
        id <SampleProcessDelegate>      delegate;
    }
    @property(nonatomic)id<SampleProcessDelegate>       delegate;
    @end
    

    在 .m 文件中

    @synthesize delegate
    
    -(void)textFieldDidEndEditing:(UITextField *)textField
    {
    
     [self.delegate startSampleProcess:textFiled.text];
    } 
    

    如果在 .h 文件中访问该委托的任何 filedecleare 委托

    sampleProtocol  = [[iOSFirstViewController alloc]init];
         sampleProtocol._delegate = self;
    -(void)startSampleProcess:(NSString *) arguement1
    {
      nslog(@"%@",arguement1);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多