[UILabel copyWithZone:]:无法识别的选择器

时间:2014-06-23 11:47:25

标签: ios iphone objective-c

我们正试图在xcode中的两个视图之间传递信息。我们以一种形式提取一些信息,我们将在下一个视图中显示这些信息。我们发送信息,但是我们无法在第二个视图中收到它,并使用我们发送的信息更改标签文本。 当我们打印NSLog(@“%@”,campo);在Formulario.m中返回 [UILabel copyWithZone:]:无法识别的选择器

ClassCodigo.h:

@property (strong, nonatomic) IBOutlet UITextField *input_codigo;

ClassCodigo.m:

@implementation ClassCodigo
@synthesize input_codigo;

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

 if ([[segue identifier] isEqualToString:@"pasa_codigo"]) {

 Formulario *segundoView = (Formulario *)[segue destinationViewController];
 NSLog(@"%@", input_codigo.text); //debug per veure que retorna
 segundoView.campo = [input_codigo text];

 }


}

Formulario.h:

@property (strong, nonatomic) IBOutlet UILabel *labelCampo;
@property (nonatomic, strong) NSString *campo;

Formulario.m:

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"%@", campo); //debug per veure que retorna

    self.labelCampo.text = campo;
}

1 个答案:

答案 0 :(得分:1)

campo被声明为NSString *,但在运行时,NSLog(@"%@", campo)会导致[UILabel copyWithZone:]: unrecognized selector

这意味着您要将UILabel *对象分配给期望NSString *的变量。这是您的错误的根本原因。