私は Dimitris のURL パーサー クラスを使用していますが、init オブジェクトがトロートしたときに問題が発生しました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;
}
オンライン[scanner scanUpToString:@"?" intoString:nil];
でエラーが発生します:
[NSURL の長さ]: 認識されないセレクターがインスタンス 0x1f8c2050 に送信されました
それはどのように可能ですか?
編集: URLParser の呼び出し方法を知りたいかもしれません:
URLParser *urlParser = [[URLParser alloc]initWithURLString:[info valueForKey:UIImagePickerControllerReferenceURL]];
UIImagePickerControllerReferenceURL 値: assets-library://asset/asset.PNG?id=8D2F0449-11A3-4962-9D60-C446831645D7&ext=PNG