Foundation框架基础 NSMutableArray-可变数组
来源:互联网 发布:软件开发教程 编辑:程序博客网 时间:2024/06/09 19:01
#import<Foundation/Foundation.h>
#import"CZDog.h"
intmain(intargc, const char * argv[]) {
// 创建一个空的可变数组
// NSMutableArray *arrayM = [NSMutableArray array];
// 创建的时候该数组可容纳的元素个数
// 通过一个不可变数组去设置一个可变得数组
CZDog *dog = [[CZDogalloc] init];
dog.name= @"xiaohei";
dog.age= 10;
CZDog *dog5 = [[CZDogalloc] init];
dog5.name= @"xiaohei";
dog5.age= 10;
CZDog *dog2 = [[CZDogalloc] init];
dog2.name= @"xiaohuang";
dog2.age= 11;
CZDog *dog3 = [[CZDogalloc] init];
dog3.name= @"xiaohong";
dog3.age= 6;
CZDog *dog4 = [[CZDogalloc] init];
dog4.name= @"xiaobai";
dog4.age= 6;
NSArray *array =@[dog,dog5,dog2,dog3,dog4];
NSMutableArray *arrayM = [NSMutableArrayarrayWithArray:array];
// 不能通过增强的for遍历的同时删除元素, 所有通过枚举器的方式都不可以遍历的同时删除
NSLog(@"%@",arrayM);
// 第一种方式变量找出要删除元素放到数组中,然后删除数组中得元素
NSMutableArray *temp = [NSMutableArrayarray];
for (CZDog*dog in arrayM) {
if ([dog.nameisEqualToString:@"xiaohong"]) {
// [arrayM removeObject:dog];
[temp addObject:dog];
}
}
// 删除arrayM中的在temp中元素
[arrayM removeObjectsInArray:temp];
intmain(intargc, const char * argv[]) {
// 创建一个空的可变数组
// NSMutableArray *arrayM = [NSMutableArray array];
// 创建的时候该数组可容纳的元素个数
// 通过一个不可变数组去设置一个可变得数组
CZDog *dog = [[CZDogalloc] init];
dog.name= @"xiaohei";
dog.age= 10;
CZDog *dog5 = [[CZDogalloc] init];
dog5.name= @"xiaohei";
dog5.age= 10;
CZDog *dog2 = [[CZDogalloc] init];
dog2.name= @"xiaohuang";
dog2.age= 11;
CZDog *dog3 = [[CZDogalloc] init];
dog3.name= @"xiaohong";
dog3.age= 6;
CZDog *dog4 = [[CZDogalloc] init];
dog4.name= @"xiaobai";
dog4.age= 6;
NSArray *array =@[dog,dog5,dog2,dog3,dog4];
NSMutableArray *arrayM = [NSMutableArrayarrayWithArray:array];
// 不能通过增强的for遍历的同时删除元素, 所有通过枚举器的方式都不可以遍历的同时删除
NSLog(@"%@",arrayM);
// 第一种方式变量找出要删除元素放到数组中,然后删除数组中得元素
NSMutableArray *temp = [NSMutableArrayarray];
for (CZDog*dog in arrayM) {
if ([dog.nameisEqualToString:@"xiaohong"]) {
// [arrayM removeObject:dog];
[temp addObject:dog];
}
}
// 删除arrayM中的在temp中元素
[arrayM removeObjectsInArray:temp];
NSLog(@"%@",arrayM);
// 第二种
for (intindex = 0; index < arrayM.count; index++) {
CZDog *dog = arrayM[index];
if ([dog.nameisEqualToString:@"xiaohei"]) {
[arrayM removeObjectAtIndex:index];
index--;//注意这里不要漏掉
}
}
NSLog(@"%@",arrayM);
return 0;
}
voidtest()
{
// 创建一个空的可变数组
// NSMutableArray *arrayM = [NSMutableArray array];
// 创建的时候该数组可容纳的元素个数
NSMutableArray *arrayM = [NSMutableArrayarrayWithCapacity:10];
NSMutableArray *arrM = @[@"1",@"2"];//错误方式,@[@"1",@"2"];不可变数组
// 往数组中添加元素
[arrayM addObject:@"1"];
NSLog(@"%@",arrayM);
// 通过一个不可变数组去设置一个可变得数组
arrayM.array= @[@"1",@"2",@"3",@"1"];
NSLog(@"%@",arrayM);
// 在某个索引插入一个元素
[arrayM insertObject:@"a"atIndex:1];
NSLog(@"%@",arrayM);
// 删除元素,只要与这个 @"1" 相同,它是同过isEqual方法进行比较的
[arrayM removeObject:@"1"];
for (intindex = 0; index < arrayM.count; index++) {
CZDog *dog = arrayM[index];
if ([dog.nameisEqualToString:@"xiaohei"]) {
[arrayM removeObjectAtIndex:index];
index--;//注意这里不要漏掉
}
}
NSLog(@"%@",arrayM);
return 0;
}
voidtest()
{
// 创建一个空的可变数组
// NSMutableArray *arrayM = [NSMutableArray array];
// 创建的时候该数组可容纳的元素个数
NSMutableArray *arrayM = [NSMutableArrayarrayWithCapacity:10];
NSMutableArray *arrM = @[@"1",@"2"];//错误方式,@[@"1",@"2"];不可变数组
// 往数组中添加元素
[arrayM addObject:@"1"];
NSLog(@"%@",arrayM);
// 通过一个不可变数组去设置一个可变得数组
arrayM.array= @[@"1",@"2",@"3",@"1"];
NSLog(@"%@",arrayM);
// 在某个索引插入一个元素
[arrayM insertObject:@"a"atIndex:1];
NSLog(@"%@",arrayM);
// 删除元素,只要与这个 @"1" 相同,它是同过isEqual方法进行比较的
[arrayM removeObject:@"1"];
NSLog(@"%@",arrayM);
}
CZDog.h
#import<Foundation/Foundation.h>
@interfaceCZDog : NSObject
//年龄
@property(nonatomic,assign)int age;
//姓名
@property(nonatomic,copy)NSString *name;
//叫
- (void) bark;
- (void) eat:(NSString*) food;
/**
* 比较方法
*/
- (NSComparisonResult) compare:(CZDog*) other;
@end
字符串
#import"CZDog.h"
@implementationCZDog
// 比较方法
- (NSComparisonResult) compare:(CZDog*) other
{
// 年龄优先
if(self.age== other.age){
return [self.namecompare:other.name];
}elseif(self.age> other.age){
return NSOrderedDescending;//降序
}else{
return NSOrderedAscending;//升序
}
}
//叫
- (void) bark{
NSLog(@"%@",self.name);
}
- (void) eat:(NSString*) food
{
NSLog(@"%@ 吃 %@",self.name,food);
}
-(BOOL)isEqual:(id)object
{
if (self== object) {
return YES;
}
return [self.nameisEqualToString:[objectname]];
}
{
// 年龄优先
if(self.age== other.age){
return [self.namecompare:other.name];
}elseif(self.age> other.age){
return NSOrderedDescending;//降序
}else{
return NSOrderedAscending;//升序
}
}
//叫
- (void) bark{
NSLog(@"%@",self.name);
}
- (void) eat:(NSString*) food
{
NSLog(@"%@ 吃 %@",self.name,food);
}
-(BOOL)isEqual:(id)object
{
if (self== object) {
return YES;
}
return [self.nameisEqualToString:[objectname]];
}
-(NSString*)description
{
return [NSStringstringWithFormat:@"CZDog name = %@,age = %d",_name,_age];
}
@end
{
return [NSStringstringWithFormat:@"CZDog name = %@,age = %d",_name,_age];
}
@end
0 0
- Foundation框架基础 NSMutableArray-可变数组
- Foundation框架—数组 NSArray -NSMutableArray
- OC基础使用(七 NSMutableArray 可变数组)
- Foundation框架中的NSMutableArray
- foundation框架基础 NSMutableString 可变字符串
- Foundation框架基础 NSMutableDictionary-可变字典
- 可变数组NSMutableArray
- NSMutableArray--可变数组
- NSMutableArray--可变数组
- NSMutableArray(可变数组)
- 可变数组NSMutableArray详解
- OC--NSMutableArray可变数组
- 【黑马程序员】【Foundation框架】数组NSArray和NSMutableArray
- ios Foundation框架中的可变和不可变对象NSArray 和NSMutableArray(二)
- Foundation框架--NSMutableArray的使用
- Foundation Framework 数组 NSArray、NSMutableArray
- NSMutableArray 可变数组-Objective-C
- OC-044.可变数组NSMutableArray
- 建立MySQL安装教程
- 快速掌握常见的几种数据库对象
- 推荐十款强大的Web服务器及客户端软件
- LeapFTP的软件教程
- log4j配置详解
- Foundation框架基础 NSMutableArray-可变数组
- maven 镜像,仓库配置
- Ubuntu apt-get install 问题: Could not resolve 'cn.archive.ubuntu.com'
- 《c++ primer》 第11章 关联容器 学习笔记
- hdu--5055 Bob and math problem
- PUTTY远程登录Linux从零配置
- git常用命令详解
- 话说农村卖土地出台了补偿标准,这是我听过最不靠谱的事情了
- android基础笔记——真正destroy掉activity的方法