我们正试图在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;
}
答案 0 :(得分:1)
campo
被声明为NSString *
,但在运行时,NSLog(@"%@", campo)
会导致[UILabel copyWithZone:]: unrecognized selector
。
这意味着您要将UILabel *
对象分配给期望NSString *
的变量。这是您的错误的根本原因。