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“
    
    
    
    
  • 相关阅读:
    配置JDK环境变量
    yum 卸载安装的软件包及依赖
    常用命令--patch
    Git 源码编译安装
    基础Git命令
    下载资源的一些方法
    Python/Jupyter小技巧
    欺诈类Kaggle竞赛赛题描述
    工作小笔记
    进入互联网数据分析岗位需要明白的一些事
  • 原文地址:https://www.cnblogs.com/yanyan1119/p/5293167.html
Copyright © 2011-2022 走看看