zoukankan      html  css  js  c++  java
  • NSScanner使用

    + (instancetype)scannerWithString:(NSString *)string

    初始化一个NSScanner对象 并且指定该对象的String对象;

    - (BOOL)scanUpToString:(NSString *)string intoString:(NSString * __nullable * __nullable)result;

    表示从当前的scanLocation 开始扫描到指定的string字符串的尾部,同时把从当前scanLocation位置到string字符串尾部的的字符串放到地址为result的内存中;

    例如以下代码 (代码引用的是JSPatch开源库中的代码)

     1     NSString *string = @"MYChoiceAddressVC : UIViewController<UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate>";
     2     NSScanner *scanner = [NSScanner scannerWithString:string];
     3     NSString *className;
     4     NSString *superClassName;
     5     NSString *protocolNames;
     6     [scanner scanUpToString:@":" intoString:&className];
     7     if (!scanner.isAtEnd) {
     8         scanner.scanLocation = scanner.scanLocation + 1;
     9         [scanner scanUpToString:@"<" intoString:&superClassName];
    10         if (!scanner.isAtEnd) {
    11             scanner.scanLocation = scanner.scanLocation + 1;
    12             [scanner scanUpToString:@">" intoString:&protocolNames];
    13         }
    14     }

    代码输出

    1 className:“MYChoiceAddressVC ”(因为原String中:前面带了空格 ,所以ClassName 后面带空格)
    2 
    3 superClassName:”UIViewController“
    4 
    5 protocolNames:”UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate“
    
    
    
    
  • 相关阅读:
    元素对应赋值与列表生成器
    python装饰器
    python之闭包
    内置函数,重要的四个reduce,map,lambda,filter
    高阶函数,递归函数,内置函数
    函数作用域
    python函数
    集合
    python深浅拷贝以及数据在内存中储存方法
    Linux之ubuntu系统操作学习笔记
  • 原文地址:https://www.cnblogs.com/yanyan1119/p/5293167.html
Copyright © 2011-2022 走看看