• oc-29-可变数组


    /**
     数组长度不固定,可以随便往里面添加或者删除元素。
     1.创建数组
      NSMutableArray *arrayM = [NSMutableArray array]
     2.给数组添加元素(只能是OC对象)
     - (void)addObject:(id)anObject;
     3.如何删除数组元素
     
     
     */
    
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            // 1.如何创建1个可变数组
            NSMutableArray *arrayM = [NSMutableArray array];
            
            // 2.给数组里面添加元素
            [arrayM addObject:@"ssssx"];
            [arrayM addObject:@"赵信"];
            [arrayM addObject:@"嘉文"];
            [arrayM addObject:@"ssssx"];
            [arrayM addObject:@"赵信"];
            [arrayM addObject:@"嘉文"];
            [arrayM addObject:@"ssssx"];
            [arrayM addObject:@"赵信"];
            [arrayM addObject:@"嘉文"];
            
            // 3.删除数组元素
            // 删除指定名字的数组元素
            [arrayM removeObject:@"ssssx"];
            // 删除指定位置的数组元素
            [arrayM removeObjectAtIndex:1];
            // 删除所有元素
            [arrayM removeAllObjects];
            
            NSLog(@"%@",arrayM);
            
        }
        return 0;
    }
    
    
    
    /*
    @synthesize name = _b; //相当于操作_b的值
    -(void)setName:(NSString *) name
    {
        _b = name;
    }
    
    -(NSString *)name
    {
        return _b;
    }
    注意:在4.4之前,@property和@synthesize成对出现
     
     2)@property 在Xcode4.4之后(@property增强)
     增强使用:
     @property int score;
     
     1).h文件中 帮我们声明 setScore(setter) 和score(getter)方法
     2).m 中帮我们生成_score的私有变量(在外部不能访问,不能被子类继承)
     3).m 中帮我们实现 get和set方法
    
     3、动态类型&id类型
     
     动态类型:程序在运行的时候,才能确定对象属于什么类型
     静态类型:程序编译的时候,就确定了对象的类型
     
     动态类型的体现: 多态,父类指针可以指向子类对象
     NSObject 是所有类的基类
     NSObject *obj = [Dog new];
     父类调用子类特有的方法
     [(Person *)obj eat];
     //id类型,id类型又被称为 万能指针。
     id obj; //运行时检查
     obj = [Car new]; //实例变量 _speed
     [obj stop];
    //id类型调用子类的方法的时候不要强制类型转换,NSObject *类型调用子类方法的时候要强制类型转换。
     
     6、构造方法的使用
     [Person new];
     -> [Person alloc];//空间申请完后,不能立即使用,有可能会导致意想不到的错误
     
     -> [[Person alloc] init];
     [Person new]; 会把我们的成员变量的值,默认的设置为0
  • 相关阅读:
    牛客noip前集训营(第一场)提高T1
    约数的个数
    牛客OI赛制测试赛2 D 星光晚餐
    牛客OI赛制测试赛2 C 数组下标
    牛客OI赛制测试赛2 A 无序组数
    [题解] codevs 1486 愚蠢的矿工
    字典(trie)树--从入门到入土
    [题解] cogs 2240 架设电话线路
    [题解] cogs 1669 神秘的咒语
    LCIS 最长上升公共子序列问题
  • 原文地址:https://www.cnblogs.com/yaowen/p/5314439.html
Copyright © 2020-2023  润新知