• iOS-Foundation各种NS


    1.1 NSRange

    NSRange range = NSMakeRange(2, 4);//location=2,len=4

       NSString *str = @"i love oc";
    //查找对应的字符串的位置location,length
    range = [str rangeOfString:@"love"];
    4.2 NSMutableString

    // NSMutableString可变字符串

    NSMutableString *s1 = [NSMutableString stringWithFormat:@"age is 10"];

    [s1 appendString:@"love"];

     NSRange range = [s1 rangeOfString:@"love"];

    [s1 deleteCharactersInRange:range];

    4.3 NSString

    //类方法构造字符串

    NSString *str = [NSString stringWithFormat:@"age is %d",10];

    NSString *str1 = [NSString stringWithContentsOfURL:url 
    encoding:NSUTF8StringEncoding error:nil];

     //对象方法构造字符串

    NSString *str1 = [[NSString alloc]initWithContentsOfFile:@"/Users/zhangct/Desktop/1.txt"encoding:NSUTF8StringEncoding error:nil];

     NSString *url = @"file:///Users/zhangct/Desktop/1.txt";

    NSString *str2 = [[NSString alloc]initWithContentsOfURL:urlencoding:NSUTF8StringEncoding error:nil];

     //讲字符串写入文件

    [str2 writeToFile]

     //常用属性
    [s length]
    [s characterAtIndex:i]
     //结构体类型转换成字符串
    NSStringFromCGRect(<#CGRect rect#>)
    NSStringFromCGPoint(<#CGPoint point#>)
    4.4 NSString (NSExtendedStringDrawing)
    //根据字体计算字符串的显示宽高
    NSString *nikeName = @"内涵段子";
    NSDictionary *attri = @{NSFontAttributeName: [UIFont systemFontOfSize:13]};
    CGSize nikeSize = [nikeName boundingRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) 
    options:NSStringDrawingUsesLineFragmentOrigin attributes:attri context:nil].size;
    4.5 NSBundle
    //获取文件绝对路径
    NSString *path = [[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil];
    //加载xib试图文件,返回对象数组
    NSArray *objs = [[NSBundle mainBundle] loadNibNamed:@"HMAppView" owner:nil options:nil];
    // infoDictionary获取info.plist的字典信息
    NSDictionary *dict = [[NSBundle mainBundle] infoDictionary];
    // objectForInfoDictionaryKey获取info.plist字典中某一个键值
    NSString *versonKey = (__bridge NSString *)kCFBundleVersionKey;
    NSString *verson = [[NSBundle mainBundle] objectForInfoDictionaryKey:versonKey];
    1.2 NSArray和NSMutableArray
    //读取文件内容填充NSArray集合
    NSArray *dictArray = [NSArray arrayWithContentsOfFile:path];
     //向数组中每个元素发送SEL消息
    array makeObjectsPerformSelector:@selector(<#selector#>)
    [self.answerView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
    1.3 NSSet
    //获取集合个数
    NSLog(@"set1 count :%d", set1.count);
    //以数组的形式获取集合中的所有对象
    NSArray *allObj = [set2 allObjects];
    NSLog(@"allObj :%@", allObj);
    //获取任意一对象
    NSLog(@"anyObj :%@", [set3 anyObject]);
    //是否包含某个对象
    NSLog(@"contains :%d", [set3 containsObject:@"obj2"]);
    //是否有交集
    NSLog(@"intersect obj :%d", [set1 intersectsSet:set3]);
    //是否完全匹配
    NSLog(@"isEqual :%d", [set2 isEqualToSet:set3]);
    //set2是否是set1的子集合
    NSLog(@"isSubSet :%d", [set2 isSubsetOfSet:set1]);
    1.4 NSMutableSet
    //集合元素相减
    [mutableSet1 minusSet:mutableSet2];
    //只留下相等元素
    [mutableSet1 intersectSet:mutableSet3];
    //合并集合
    [mutableSet2 unionSet:mutableSet3]
    //删除指定元素
    [mutableSet2 removeObject:@"a"];
    //删除所有数据
    [mutableSet2 removeAllObjects];
    1.5 NSDictionary和NSMutableDictionary

    NSDictionary *dict = @{@"name": @"zhangct", @"age": @20};

     NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    [dict setValue:@"zhangct" forKey:@"name"];
    1.6 NSNumber

    NSNumber *num1 = [NSNumber numberWithInt:10];

    [num1 intValue];

     NSNumber *num2 = [NSNumber numberWithFloat:1.0];

    [num2 floatValue];

     NSNumber *num3;

    int age = 20;

    num3 = @(age);

    num3 = @100;

    1.7 NSValue

    CGPoint p = CGPointMake(10, 20);

    NSValue *value = [NSValue valueWithPoint:p];

     NSLog(@"%@", NSStringFromPoint([value pointValue]));
    1.8 NSDate

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

    formatter.dateFormat = @"yyyy年MM月dd日 HH时mm分ss秒";

     NSDate *date = [NSDate date];
    NSLog(@"%@", [formatter stringFromDate:date]);
    4.6 NSObject
    4.6.1 NSObject

    [self performSelector:@selector(onClick:value1:) withObject:nil withObject:nil];

    performSelector是执行self对象中的onClick:value1:方法,最多支持传递2个参数.

    4.6.2 NSObject(NSDelayedPerforming)

    //播放完毕后延迟1秒执行释放内存

    [self.tom performSelector:@selector(setAnimationImages:) 
    withObject:nil afterDelay:self.tom.animationDuration + 1.0f];

    4.6.3 NSObject(NSKeyValueCoding)
    //单个赋值
    [self setValue:dict[@"answer"] forKey:@"answer"];

    [self setValue:dict[@"title"] forKey:@"title"];

     //ForKeyPath取值,返回Person的car name
    [p valueForKeyPath:@"car.name"]
     //ForKeyPath取值返回title数组
    carsGroups valueForKeyPath:@"title"
     
    //字典转模型,使用此方法要保证属性名称和字典的key同名
    [self setValuesForKeysWithDictionary:dict];
     //模型转字典
    NSDictionary *dict = [p dictionaryWithValuesForKeys:@[@"name", @"age"]];
    4.6.4 NSObject(UINibLoadingAdditions)

    //当xib文件加载完毕后执行

    - (void)awakeFromNib;
     
    4.8 NSIndexPath

    //根据分组和行号初始化对象

    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:10 inSection:0];

     //返回分组

    indexPath.section

     //返回行号
    indexPath.row
  • 相关阅读:
    登陆SharePoint站点出现service unavailable----Http错误503
    SharePoint 配置站点导航栏顶级菜单栏的下拉菜单
    修改SharePoint列表中“添加新项目”链接
    大数据应用中如何进行技术选型?
    leetcode的注意点
    架构中的权衡
    数学与计算机
    论一个技术管理者的(工作中)无中生有的能力
    通过日志分析程序的问题的原因
    后续使用dubbo的必要性的思考
  • 原文地址:https://www.cnblogs.com/linxiu-0925/p/5058210.html
Copyright © 2020-2023  润新知