oc NSString NSNumber NSArray

大憨熊 提交于 2020-03-01 03:04:19

一、使用苹果帮助文档

查阅头文件:COMMAND + 左击

查阅文档:

     a.help->Documentation and API Reference

     b.Command+Shitf+0

     c.Alt + 左击

⽂档基本信息

Inherits from 继承⾃

Conforms to 遵循什么协议

Framework 属于哪个框架

Availability 什么时候可⽤的

Declared in 声明在什么头⽂件⾥

Related documents 相关⽂档

Sample code ⽰例代码


二、字符串类

#pragma mark ----  NSString 不可变字符串 ----

#pragma mark -- 创建字符串对象

// 字符串常量

     NSString * s1 = @"Hello";

// 格式化字符串

    NSString * s2 = [[NSString alloc] initWithFormat:@"%.1f",6.5];

    NSString * s3 = [[NSString alloc] initWithFormat:@"%@ world", s1];

// 便利构造器 stringWithString 实际为Copy,s4、s3地址不一样

    NSString * s4 = [NSString stringWithString:s3];

// 从文件中读取文本,创建字符串对象

    NSString * s5 = [[NSString alloc]                initWithContentsOfFile:@"pathUrl" encoding:NSUTF8StringEncoding error:nil];


// 使用C语言的字符串创建

    NSString * s6 = [NSString stringWithCString:"Hello C " encoding:NSUTF8StringEncoding];

// 转换为C语言的字符串

   char *char = s6.UTF8String;


#pragma mark -- 字符串长度、范围
    NSString * testStr = [NSString stringWithFormat:@"BJS150726"];
   
// 获取字符串长度
   
NSUInteger strLength = [testStr length];
   
// 范围
   
// NSRange是结构体类型
   
NSRange range = [testStr rangeOfString:@"0726"];    // 输出{5,4}
   
/*--------NSRange to NSString--------*/
   
NSLog(@"%@", NSStringFromRange(range));
   
NSRange range1 = NSMakeRange(5, 4); // 输出{5,4}
   
#pragma mark --字符串比较
    // 判断字符串是否包含某个前缀
   
BOOL r1 = [testStr hasPrefix:@"BJS"];   // true包含, false不包含//hasSuffix 后缀
   
// 比较两个字符串大小
   
NSComparisonResult comp = [@"abc" compare:@"xyz"]; // comp=-1, str1<str2//NSComparisonResult为枚举
   
   
// 判断是否是字符串的字串
   
/*---------------方法一 iOS 8 & OSX 10.10 available------------------*/
    [testStr
containsString:@"0726"];   // 包含true
   
// 方法2
   
NSRange range2 = [testStr rangeOfString:@"0725"];
   
BOOL isIncluded = range2.length;    //
   
   
// 判断两个字符串对象的内容是否相同
    [
@"abc" isEqualToString:@"xyz"]; // 相等返回true
   
#pragma mark --字符串大小写转换
    NSString * str3 = @"ABCdef";
   
NSString * upStr3 = [str3 uppercaseString]; //大写
   
NSString * loStr3 = [str3 lowercaseString]; //小写
   
#pragma mark --字符串截取
    // 从起始至index-1
   
NSString * cutTestStrToIndex = [testStr substringToIndex:3]; // 共截取3个字符,@"BJS"
   
// index至末尾
   
NSString * cutTestStrFromIndex = [@"BJS150726" substringFromIndex:5];  // @"1507"
   
NSString * cutTestStrWithRange = [testStr substringWithRange:NSMakeRange(3, 2)];    //15
   
#pragma mark --字符串拼接、替换
    // 拼接和替换,返回新NSString对象
   
// append
   
NSString * str5 = @"北京";
   
NSString * appendStr = [str5 stringByAppendingString:@"蓝鸥科技"];  //北京蓝鸥科技
   
NSString * appendFormatStr = [appendStr stringByAppendingFormat:@"BJS%@%@",@"150726", @"-94"];    //北京蓝鸥科技BJS150726-94
   
// replace
   
NSString * repStr = [str5 stringByReplacingOccurrencesOfString:@"" withString:@""];   // 南京  //根据字符串替换

    NSString * repStr2 = [str5 stringByReplacingCharactersInRange:NSMakeRange(0, 1) withString:@""];   // 南京  //根据位置替换


#pragma mark --字符串和基本数据类型转换
    // 将字符串转换为整形数
    NSString * str6 =
@"123";
   
int a = [str6 intValue];  // a=123 其他value进入intValue中看

#pragma mark -----NSMutableString 可变字符串 -----

    // 创建可变字符串对象
   
NSMutableString *ms1 = [[NSMutableString alloc] init];
    [ms1
setString:@"hello"];
   
// 拼接
    [ms1
appendString:@"world"];
   
NSLog(@"ms1 = %@",ms1);
   
// 插入
    [ms1
insertString:@" " atIndex:5];
   
// 替换
    [ms1
replaceCharactersInRange:NSMakeRange(6, 5) withString:@"lanou"];
   
// 删除

    [ms1 deleteCharactersInRange:NSMakeRange(5, 6)];


三、数组对象

集合(collection)iOS中存放数据的容器类

#pragma mark -----NSArray 不可变数组-----

    /*
        1
、数组对象中只能存储对象类型(*),不能存储基本数据类型
        2
、数组对象中可以同时存储不同类型的对象
        3
、有序,下标从0开始/越界崩溃

     */

    // 创建数组对象  /nil为结束标志
   
NSArray * array1 = [[NSArray alloc] initWithObjects:@"你好", @"2", @"3", nil];
   
// 使用数组创建数组
   
NSArray * array2 = [NSArray arrayWithArray:array1];
   
// 获取数组元素个数
   
NSUInteger uIntNum = [array1 count];
    uIntNum = [array1
indexOfObject:@"你好"];
   
   
// 语法糖
   
// 创建数组
   
NSArray * array3 = @[@"1", @"2", @"hi"];
   
// 访问元素 array3[0];
   
#pragma mark -----NSMutableArray 可变数组-----
    // 创建
    NSMutableArray * marr1 = [NSMutableArray array];

   
// 添加
    [marr1 addObject:
@"10"];
    [marr1 addObject:
@"20"];
   
// 插入
    [marr1 insertObject:
@"3" atIndex:2];
   
// 交换数组中两个数组元素的位置
    [marr1 exchangeObjectAtIndex:
0 withObjectAtIndex:2];
   
// 替换
    [marr1 replaceObjectAtIndex:
2 withObject:@"one"];
   
// 移除
   
//[marr1 removeAllObjects];
   
   
// 遍历  //符合getter语法的方法,均可用.调用
   
for (int i = 0; i < marr1.count; i++) {
        NSLog(
@"%@", marr1[i]);

    }

QA : 

QA: oc是否有默认形参值

ans:NO!


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!