美文网首页
NSScaner的一些操作

NSScaner的一些操作

作者: 文达IOS | 来源:发表于2018-01-24 21:20 被阅读16次
    • 最近在看YYModel的源码,其中看到的如下代码没有搞懂其中的含义
    NSScanner *scanner = [NSScannerscannerWithString:_typeEncoding];
    
    NSString *clsName = nil;
    
    if ([scanner scanUpToCharactersFromSet: [NSCharacterSet characterSetWithCharactersInString:@"\"<"] intoString:&clsName]) {
        if (clsName.length) _cls = objc_getClass(clsName.UTF8String);
     }
    
    
    • 后来查阅资料才了解这个是删除scanner中的"""和"<"符号
    //下面一句执行语句的的意思是,从开始位置扫描>的字符串
    while ([scanner scanString:@"<" intoString:NULL]) {
         NSString* protocol = nil;
         //从刚才扫描的位置一直扫描到>的符号位置,并将期间的字符赋值给protocol
         if ([scanner scanUpToString:@">" intoString: &protocol]) {
             if (protocol.length) {
                 if (!protocols) protocols = [NSMutableArray new];
                 [protocols addObject:protocol];
             }
         }
            //继续刚才的扫描,从刚才<的位置扫描下一个>的位置,如此往复循环
            [scanner scanString:@">" intoString:NULL];
    }
    

    相关文章

      网友评论

          本文标题:NSScaner的一些操作

          本文链接:https://www.haomeiwen.com/subject/ommhkxtx.html