#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool {
/**
* NSArray 数组,可以存储任何类型的OC对象
NSEnumerator,
NSDictionary 字典,键值对
NSSet 数学的集合
*/ //1.如何创建一个NSArray,即初始化
NSArray *names=[NSArray arrayWithObjects:@"张三",@"李四",@"王五", nil];
// NSLog(@"%@",names); // NSInteger a=[names count];
//2.集合元素的个数
// NSLog(@"元素的个数是=%ld",a); //3.获取集合的指定下标的元素
// NSString *name=[names objectAtIndex:1];
// NSLog(@"%@",name); //4.循环遍历
// for (int i=0; i<[names count]; i++) {
// NSString *name=[names objectAtIndex:i];
// NSLog(@"%@",name);
// } // for (int i=0; i<[names count]; i++) {
// NSLog(@"%@",names[i]);
// }
// 快速枚举
// for (NSString *name in names) {
// NSLog(@"%@",name);
// } }
return ;
}

把对象变成NSArray输出

#import <Foundation/Foundation.h>

@interface Student : NSObject
/**
* 属性,姓名,年龄
*/
@property(strong,nonatomic) NSString *name;
@property(assign,nonatomic) int age;
-(instancetype)initWithName:(NSString *) name andAge:(int) age;
-(void) show;
@end
#import "Student.h"

@implementation Student
//@synthesize name,age;
- (instancetype)initWithName:(NSString *)name andAge:(int)age
{
self = [super init];
if (self) {
_name=name;
_age=age;
}
return self;
}
-(void)show{
NSLog(@"%@,%d",_name,_age);
}
/**
* 描述信息方法
*此方法 是 对父类的方法重新实现,返回一个字符串对象,此方法,由对象自动调用
《方法重写》
在父类和子类中相同名称的方法,实现不同
* @return 描述信息
*/
-(NSString *)description{
return [NSString stringWithFormat:@"%@,%d",_name,_age];
}
@end
#import <Foundation/Foundation.h>
#import "Student.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// Student *stu1=[[Student alloc] initWithName:@"a" andAge:22];
// Student *stu2=[[Student alloc] initWithName:@"b" andAge:21];
// Student *stu3=[[Student alloc] initWithName:@"c" andAge:20];
Student *stu1=[[Student alloc] init];
stu1.name=@"qll";
stu1.age=;
Student *stu2=[[Student alloc] init];
stu2.name=@"zy";
stu2.age=;
Student *stu3=[[Student alloc] init];
stu3.name=@"zyj";
stu3.age=;
//创建集合并添加学生的类型的对象当元素
NSArray *arr=[NSArray arrayWithObjects:stu1,stu2,stu3,nil]; //遍历集合元素 通过快速枚举实现
// for ( Student *a in arr){
//// NSLog(@"%@",[a description]);
// NSLog(@"%@",a);
// } //id identity 标识 任意类型,不用加上 *
for (id stu in arr) {
NSLog(@"%@",stu);
}
}
return ;
}

OC中NSArray的更多相关文章

  1. OC中NSArray的使用

    不可变数组类容器类,管理一组对象类型的数据.   元素是有序的,索引值从0开始  数组中存储的元素必须是对象,类型任意.   创建数组对象,使⽤用实例初始化或便利构造器.获取元素个数.根据索引值获取对 ...

  2. OC中的NSNumber、NSArray、NSString的常用方法

    和C语言不同,在Objective-C语言中,有单独的字符串类NSString.C语言中,string是由 char(ASCLL码)字符组成 OC中,字符串是由unichar(Unicode)字符组成 ...

  3. OC中Foundation框架之NSArray、NSMutableArray

    NSArray概述 NSArray是OC中的数组类 NSArray特点 )只能存放任意OC对象,并且是有顺序的 )不能存放非OC对象,比如int/float/double/char/enum/stru ...

  4. OC中数组类NSArray的详解,常用属性和方法(一)

    数组是一个有序的集合,OC中的数组只能存储对象类型, 但是对于对象的类型没有限制. 通过下标访问数组元素,下标从0开始. NSA

  5. Oc中的数组

    ========================== 数组 ========================== 一.认识数组 oc中可以把NSObject对象的子类放到数组这个集合中,但是int.f ...

  6. OC中的指针

    NSError *err = nil; NSError __strong **error = &err; //因为在oc中,通过* *err 创建的指针是用__strong修改的,所以要一致, ...

  7. [BS-18] 对OC中不可变类的理解

    对OC中不可变类的理解 OC中存在很多不可变的类(如NSString,NSAttributedString,NSArray,NSDictionary,NSSet等),用它们创建的对象存在于堆内存中,但 ...

  8. OC中@property属性关键字的使用(assign/weak/strong/copy)

    OC中@property属性关键字的使用(assign/weak/strong/copy) 一.assign 用于 ‘基本数据类型’.‘枚举’.‘结构体’ 等非OC对象类型 eg:int.bool等 ...

  9. OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法

    字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 ...

随机推荐

  1. 个人对joomla3.2x和joomla2.5X浅薄看法

    很久没有写joomla文章了,发现想写的东西还是挺多的,后面抽时间补回来,其实更多还是php的一些东西.joomla3.0以后系统改变挺大,后台都是用bootstrap作为主题,个人对这个无爱,因为他 ...

  2. 云计算之路-阿里云上:消灭“黑色n秒”第二招——给w3wp进程指定CPU核

    虽然昨天的第一招失败了,但是从失败中我们学到了与多核CPU相关的Processor Affinity(处理器关联)的知识. 既然我们可以让.NET程序的不同线程运行于指定的CPU核,那是不是也可以让I ...

  3. [转载]在线文档预览方案-Office Web Apps

    最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...

  4. jqmobile小技巧

    jqmobile API好像是不全,很多查不到.记录下自己的发现: 1.popup:data-position-to能够指向class或者id:data-position-to="#id|| ...

  5. 创意设计展示:折叠效果在移动 App 中的应用

    在今天在移动 App 界面设计中,你可以看到不同创意类型的视觉效果.特别是在 Dribbble 上面,有有很多应用程序的 UI 概念设计,让你惊叹.当然,他们大多只是作为一个概念设计,可能永远也不会成 ...

  6. Direct2D开发:从资源加载位图

    转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 Direct2D使用Windows图像处理组件 (WIC) 来加载位图.从文件加载位图的方法很简单,而且网上的教 ...

  7. HT图形组件设计之道(四)

    在<HT图形组件设计之道(二)>我们展示了HT在2D图形矢量的数据绑定功能,这种机制不仅可用于2D图形,HT的通用组件甚至3D引擎都具备这种数据绑定机制,此篇我们将构建一个3D飞机模型,展 ...

  8. [ShortCut] Visual Studio快捷键

    msdn官方快捷键说明:https://msdn.microsoft.com/zh-cn/library/da5kh0wa.aspx 测试工具: visual studio 2013 操作步骤: 1. ...

  9. sprint 1 总结

    1.之前已经总结了一下了.. 提前完成了任务,明天还要继续测试一下,看有没有BUG.这次搭建,遇到好多问题,服务器经常不稳定崩毁,毕竟免费...不能完美..途中经常小细节没注意,导致错误连连,卡了好几 ...

  10. JavaScript 面向对象继承详解

    题记 由于js不像java那样是完全面向对象的语言,js是基于对象的,它没有类的概念.所以,要想实现继承,一般都是基于原型链的方式: 一.继承初探 大多数JavaScript的实现用 __proto_ ...