美文网首页IOS Other
Object-C 基本语法

Object-C 基本语法

作者: 倪灏 | 来源:发表于2019-12-23 15:58 被阅读0次

    基本类型

        // 字符串
        NSString *str = @"字符串";
        NSLog(@"%@",str);
        // OC里的整形
        NSInteger a = 100;
        NSLog(@"%ld",a);
        // 浮点型
        CGFloat f = 3.14;
        NSLog(@"%g",f);
        // 数组
        NSArray *arr = @[@"1",@"2",@"3"];
    
    注意:Object-C 是 C 的超集,所以任何C语言程序不经修改就可以直接通过Objective-C编译器。所以 C 的基本语法也可以在 iOS 中使用。
    

    创建对象

        // 1.向堆空间申请内存
        Student *stu = [Student alloc];
        // 2.对对象进行初始化的设置
        stu = [stu init];
        
        // 一般是这样
        Student *stu = [[Student alloc] init];
    

    字符串

    创建字符串

    // 通过字面量的方式快速创建一个对象
        NSString *str = @"倪灏";
    
    // 通过常规的alloc init的方式创建一个字符串对象
        NSString *s = [[NSString alloc] init];
        
        // 用便利构造器的方式创建一个空字符串(不推荐使用)
        NSString *s = [NSString string];
    

    字符串长度

    NSString *str = @"字符串的长度";
    NSLog(@"%ld",str.length);
    

    获取子串

    // 从下标的位置开始,包括下标位置,后面的内容都要
    NSLog(@"%@",[str substringFromIndex:2]);
    
    // NSRange是一个结构体,里面包含两部分一个数location就是范围的起始位置,另外一个是length是截取的长度
    NSLog(@"%@",[str substringWithRange:NSMakeRange(0, 2)]);
    

    字符串拼接

    // 万能拼接法,可以把任意类型转换为字符串
        NSString *str2 = @"他自己";
        
        NSString *newStr = [NSString stringWithFormat:@"%@%@%d",str,str2,123];
        NSLog(@"%@",newStr);
        
        str = [NSString stringWithFormat:@"%@%@",str,str2];
        NSLog(@"%@",str);
    

    字符串是否相等

    NSString *str = @"abc";
    NSString *str1 = @"abc";
    BOOL result = [str isEqualToString:str1];
    

    字符串替换

       NSString *str = @"窗前明月光明";
       NSString *newStr = [str stringByReplacingOccurrencesOfString:@"明" withString:@"你还"];
    

    数组

    数组是OC提供的一个有序容器,里面放的必须是对象类型数据。
    数组有可变数组和不可变数组。

    不可变数组

        // 初始化
        NSArray *arr = @[@"1",@"2",@"3",@"4",@"5"];
        // alloc 和 自定义初始化的方式来创建
        NSArray *arr1 = [[NSArray alloc] initWithObjects:@"张三",@"2",@"3",@"4",@"5",@"6", nil];
    
        // 字符串截取成数组
        NSString *str = @"www.lanou3g.com";
        NSArray *arr = [str componentsSeparatedByString:@"."];
        NSLog(@"%@",arr);
    
    // 数组内容拼接成字符串
        NSArray *arr = @[@"大连",@"青岛",@"丹东",@"蓝欧",@"塞北"];
        NSString *str = [arr componentsJoinedByString:@":"];
        NSLog(@"%@",str);
    
    // 数组的快速枚举 for .. in
    // in 的前面填写元素的类型,in的后面需要指定遍历的那个容器
        NSArray *arr = @[@"1",@"2",@"3",@"4",@"5",@"6"];
        for (NSString *temp in arr) {
            NSLog(@"%@",temp);
        }
    
    // 判断一个对象是否在数组中
        BOOL result = [arr1 containsObject:@"1.1"];
    

    可变数组

        NSMutableArray *arr = [[NSMutableArray alloc] init];
        NSMutableArray *arr1 = [NSMutableArray array];
        // 可变数组添加元素
        [arr addObject:@"123"];
        [arr addObject:@"aslkd"];
        [arr addObject:@"HEo"];
        [arr addObject:@"123"];
        
        [arr insertObject:@"4" atIndex:2];
        // 移除
        [arr removeObjectIdenticalTo:@"123" inRange:NSMakeRange(0, 2)];
        
        // 移除
        [arr replaceObjectAtIndex:2 withObject:@"12"];
        
        // 交换
        [arr exchangeObjectAtIndex:0 withObjectAtIndex:1];
        
        // 移除
        [arr removeObjectAtIndex:1];
    

    字典(散列、key-value)

    相关文章

      网友评论

        本文标题:Object-C 基本语法

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