oc-29-可变数组
2016-03-24 10:34
274 查看
/** 数组长度不固定,可以随便往里面添加或者删除元素。 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
相关文章推荐
- js、javascript正则表达式验证身份证号码
- Android ANR异常及解决方法
- HustOj使用脚本开启判题功能
- 【bzoj2179】FFT快速傅立叶 FFT
- 基于jenkins+gitlab+redmine构建持续集成环境(一)
- 杭电2074—叠筐
- Spring分层矛盾问题
- ios 遍历方式
- 在Mac上配置/使用Github
- 【操作系统】关于C语言设计程序退出自动关闭窗口的问题
- SQLServer 服务器架构迁移
- 工作日志的利器:迷人的MARKDOWN
- Codeforces 15E Trangles (计数)
- c++2
- Android SQLite性能分析
- 鼠标事件回放
- EBS-计划采购订单信息及接口数据
- Springmvc中@Autowired注解与@Resource注解的区别
- 存储过程和复杂SQL语句的陷阱
- 从此不求人:自主研发一套PHP前端开发框架 (1)