zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    周记
    读书笔记
    我是一只IT小小鸟
    回车键完全替代模拟鼠标单击事件
    去除Flexgrid表格的隔行底色为白的样式
    Flexgrid中的sortable设为false的时候abbr属性也不存在的原因及解决办法
    Flexigrid列之间的拖拉线条在某些浏览器中不能很好地与栏目边缘重合解决方法介绍
    用基于openssl产生的密钥实现PHP和.NET端的RSA加解密互通
    CSS3轮播图
    淘宝放大镜
  • 原文地址:https://www.cnblogs.com/yaowen/p/5314439.html
Copyright © 2011-2022 走看看