“NSString”没有可见的@interface 声明选择器“performStringGeocode”
Posted
技术标签:
【中文标题】“NSString”没有可见的@interface 声明选择器“performStringGeocode”【英文标题】:No visible @interface for 'NSString' declares the selector 'performStringGeocode' 【发布时间】:2014-04-14 21:20:52 【问题描述】:我一直在查看所有形式为“class 的可见@interface 声明选择器method”的问题,但没有一个能说明问题关于这个错误的实际含义。我是新手,如果这是一个愚蠢的错误,请见谅。
我正在寻找有关此错误含义的解释,以及有关如何使错误在我的代码中消失的一些更正!哈哈!
错误是:
//MapViewController.h
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface MapViewController : UIViewController <MKMapViewDelegate>
@property (nonatomic) NSString *fromAddr;
@end
.
//MapViewController.m
@interface MapViewController ()
@end
@implementation MapViewController
@synthesize fromAddr;
- (void)viewDidAppear:(BOOL)animated
[super viewDidAppear:animated];
if (self.isAddrPresent)
[self.fromAddr performStringGeocode]; //<-- Angry error on this line
- (void)performStringGeocode:(NSString*) addr
//geocode stuff
【问题讨论】:
这只是意味着一个类的接口(.h 文件),在本例中为 NSString,没有名为 performStringGeocode 的方法。 【参考方案1】:这是因为NSString
的可见界面没有声明选择器performSTringGeocode
。
实际上,就您的代码而言,它是MapViewController
的方法。
试试
[self performStringGeocode:[self fromAddr]];
【讨论】:
【参考方案2】:这是错误的:
[self.fromAddr performStringGeocode];
你的意思是:
[self performStringGeocode:self.fromAddr];
至于错误,这意味着self.fromAddr
似乎是一个NSString
对象,而NSString
类上似乎没有任何performStringFromGeocode
方法。
【讨论】:
以上是关于“NSString”没有可见的@interface 声明选择器“performStringGeocode”的主要内容,如果未能解决你的问题,请参考以下文章
如何解决错误'UIViewController'没有可见的@interface声明选择器''
UIImagePickerControllerSourceTypePhotoLibrary 的“CameraTakePictureOverlay”没有可见的@interface