OC-039.NSArray对象数组

NSArray是一个可以存放对象的数组类,虽然可以存储不同类的对象,但是一般只存放同类的对象,方便批量操作。

1.NSArray的创建

2.NSarray的一些简单的方法

#import <Foundation/Foundation.h>//------main.m
#import "LSMe.h"
#import "LSYou.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        LSMe *me = [[LSMe alloc] init];
        me.age = 28;
        me.name = @"tom";
        LSYou *you = [[LSYou alloc] init];
        you.age = 18;
        you.name = @"jack";
//******1.NSArray的创建方法
        //1.1通过类方法创建,中间不要放nil,表示数组结束
        NSArray *array = [NSArray arrayWithObjects:me,you, nil];
        NSLog(@"%@",array);//数组输出是不支持中文
        //1.2通过对象方法创建
        NSArray *array2 = [[NSArray alloc] initWithObjects:me,you, nil];
        NSLog(@"%@",array2);
        //1.3通过字面量方法创建,后面不需要加nil
        NSArray *array3 = @[me,you];
        NSLog(@"%@",array3);
        
//******2.NSArray对象方法介绍
        //2.1输出索引对象
        NSLog(@"%@",[array3 objectAtIndex:1]);//对象方法
        NSLog(@"%@",[array3 objectAtIndexedSubscript:1]);//跟上面一个相同
        NSLog(@"%@",array3[0]);//快捷方法
        NSLog(@"%ld",array3.count);//打印数组元素个数
        //2.2是否包含某个对象,通过isEqual方法来判断是否包含,可以重新isequal方法来验证
        LSYou *you2 = [[LSYou alloc] init];
        you2.name = @"jack";
        BOOL isHas = [array3 containsObject:you2];
        //数组里面没有you2还是打印yes,说明是通过isEqual的方法来判断的
        if (isHas) {
            NSLog(@"yes");
        }else{
            NSLog(@"no");
}

    }
    return 0;
}
#import <Foundation/Foundation.h>//------LSme.h

@interface LSMe : NSObject
@property(nonatomic,copy)NSString *name;
@property(nonatomic,assign)int age;
@end
#import "LSMe.h"//------LSMe.m

@implementation LSMe
-(NSString *)description{
    return [NSString stringWithFormat:@"name = %@,age = %d",_name,_age];
}
@end
#import <Foundation/Foundation.h>LSYou.h

@interface LSYou : NSObject
@property(nonatomic,copy)NSString *name;
@property(nonatomic,assign)int age;
@end
#import "LSYou.h"//------LSYou.m

@implementation LSYou
-(NSString *)description{
    return [NSString stringWithFormat:@"name = %@,age = %d",_name,_age];
}
-(BOOL)isEqual:(LSYou *)object{
    if (self == object) {
        return YES;
    }
    return [self.name isEqualToString:object.name];
}
@end


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值