我知道在StackOverflow上有一些解决这个错误的方法,但我找不到一个特定于我的问题。
我正在尝试使用以下方法为Google地图标记信息窗口创建自定义视图:
- (UIViewController *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker {
DMinfoWindow *view = [[[NSBundle mainBundle] loadNibNamed:@"DMinfoWindow" owner:self options:nil] objectAtIndex:0];
view.firstName.text = self.firstName;
return view;
}
我创建了一个名为DMinfoWindow的UIViewController,它有一个名为firstName的UILabel并链接到IBOutlet。
如果我注释掉“view.firstName.text = self.firstName;”行,它工作正常,当我点击标记时,会出现自定义视图。
但是,如果包含该行,我会收到以下错误:
2013-06-23 17:58:52.763 ExerciseBuddy[1406:1a003] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView firstName]: unrecognized selector sent to instance 0x1623a6e0'
对此错误的任何帮助都会很棒!我假设某些内容不应该在内存中,但我不确定是什么。
非常感谢
答案 0 :(得分:0)
' - [UIView firstName]:无法识别的选择器发送到实例
现在,翻译一下:
view.firstName.text = self.firstName;
不使用点符号:
[[view firstName] setText: [self firstName]];
假设这是唯一与firstName
混淆的代码行,那么有两个可能失败的地方。
鉴于它抱怨UIView
没有实现该方法,我认为[view firstName]
失败了。您确定view
是DMInfoWindow
的实例吗?假设数组中第一个来自nib加载表达式的对象非常脆弱。您应该有一个明确连接到XIB文件所需对象的插座。