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
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/5314439.html,如需转载请自行联系原作者

相关文章
|
9月前
|
缓存 Java iOS开发
OC中动态方法解析
OC中动态方法解析
32 1
|
Java API
JavaDoc
JavaDoc命令是用来生成自己API文档的,将写好的程序放在生成的文档中 参数信息 @author 作者名 @version 版本号 @since 指明需要最早使用的jdk版本 @param 参数名 @return 返回值情况 @throws 异常抛出情况 package com.wyd.base
JavaDoc
|
Oracle Java 关系型数据库
无法使用 javadoc 等命令?
谈到 Java 就离不开 JRE(Java Runtime Environment),JDK(Java Development Kit) 中包含了 JRE 和 JVM(Java Virtual Machine),所以我们一般直接安装 JDK,安装 JDK 首先肯定是去Oracle官网下载适合自己的开发版本,然后将 JDK 安装到自定义位置。
无法使用 javadoc 等命令?
|
Java Android开发
javaDOC生成
javaDOC生成
93 0
|
编译器 C语言 Swift
|
编译器 Python
|
Java C语言 iOS开发