2013-06-23 53 views
1

我知道这个在StackOverflow上出现这个错误的一些解决方案,但是我找不到特定于我的问题的解决方案。发送到UIView实例的无法识别的选择器错误

我试图使用创建的谷歌地图标记信息窗口自定义视图:

- (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; 
    } 

我创建了一个名为的UIViewController DMinfoWindow,其中有是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

您是否在Interface-Builder中设置了自定义类属性? – Karl

+0

它目前设置为UIView,但淡出。我试图将其更改为UIViewController,但它只是恢复到UIView淡出。 – DJDMorrison

+0

这是查看项目,将其设置为您的infoview类。 – Karl

回答

0

'-[UIView firstName]: unrecognized selector sent to instance

现在,翻译如下:

view.firstName.text = self.firstName; 

为了不使用点符号:

[[view firstName] setText: [self firstName]]; 

假设是代码的唯一线路,与firstName渣土,那么有两个可能失败的地方。

鉴于它抱怨UIView没有实施该方法,我打赌它是[view firstName]这是失败。你确定viewDMInfoWindow的一个实例吗?假设从nib加载表达式的数组中的第一个对象异常脆弱。您应该有一个直接连接到XIB文件所需的对象的插座。

+0

我将代码更改为'DMinfoWindow * view = [[DMinfoWindow alloc] init]',以确保它是DMInfoWindow的一个实例,但仍然是相同的错误。该标签有一个插座。 – DJDMorrison

+0

@DJDMorrison不太可能解决您的问题;您现在正在创建不在视图层次结构中的视图。但是,如果没有解决这个问题,那么当你执行这个方法时,你确定'self'有一个'firstName'方法或属性吗? – bbum

相关问题