我使用 URL parser class来自 Dimitris,但我在初始化对象时遇到问题 initWithURLString
:
- (id) initWithURLString:(NSString *)url{
self = [super init];
if (self != nil) {
NSString *string = url;
NSScanner *scanner = [NSScanner scannerWithString:string];
[scanner setCharactersToBeSkipped:[NSCharacterSet characterSetWithCharactersInString:@"&?"]];
NSString *tempString;
NSMutableArray *vars = [NSMutableArray new];
//ignore the beginning of the string and skip to the vars
[scanner scanUpToString:@"?" intoString:nil];
while ([scanner scanUpToString:@"&" intoString:&tempString]) {
[vars addObject:[tempString copy]];
}
self.variables = vars;
}
return self;
}
在线[扫描仪 scanUpToString:@"?"intoString:nil];
我收到错误:
[NSURL length]: unrecognized selector sent to instance 0x1f8c2050
这怎么可能?
编辑:也许你想知道我如何调用 URLParser:
URLParser *urlParser = [[URLParser alloc]initWithURLString:[info valueForKey:UIImagePickerControllerReferenceURL]];
UIImagePickerControllerReferenceURL 值为:assets-library://asset/asset.PNG?id=8D2F0449-11A3-4962-9D60-C446831645D7&ext=PNG
最佳答案
您将 NSURL 传递给 initWithURLString,但您应该将其与 NSString 一起使用,如下所示:
NSString* urlString = [NSString stringWithFormat:@"%@",[info valueForKey:UIImagePickerControllerReferenceURL]];
URLParser *parser = [[[URLParser alloc] initWithURLString:urlString] autorelease];
关于objective-c - NSScanner 无法识别 scanUpToString 上的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13698757/