OC中NSArray
- #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的更多相关文章
- OC中NSArray的使用
不可变数组类容器类,管理一组对象类型的数据. 元素是有序的,索引值从0开始 数组中存储的元素必须是对象,类型任意. 创建数组对象,使⽤用实例初始化或便利构造器.获取元素个数.根据索引值获取对 ...
- OC中的NSNumber、NSArray、NSString的常用方法
和C语言不同,在Objective-C语言中,有单独的字符串类NSString.C语言中,string是由 char(ASCLL码)字符组成 OC中,字符串是由unichar(Unicode)字符组成 ...
- OC中Foundation框架之NSArray、NSMutableArray
NSArray概述 NSArray是OC中的数组类 NSArray特点 )只能存放任意OC对象,并且是有顺序的 )不能存放非OC对象,比如int/float/double/char/enum/stru ...
- OC中数组类NSArray的详解,常用属性和方法(一)
数组是一个有序的集合,OC中的数组只能存储对象类型, 但是对于对象的类型没有限制. 通过下标访问数组元素,下标从0开始. NSA
- Oc中的数组
========================== 数组 ========================== 一.认识数组 oc中可以把NSObject对象的子类放到数组这个集合中,但是int.f ...
- OC中的指针
NSError *err = nil; NSError __strong **error = &err; //因为在oc中,通过* *err 创建的指针是用__strong修改的,所以要一致, ...
- [BS-18] 对OC中不可变类的理解
对OC中不可变类的理解 OC中存在很多不可变的类(如NSString,NSAttributedString,NSArray,NSDictionary,NSSet等),用它们创建的对象存在于堆内存中,但 ...
- OC中@property属性关键字的使用(assign/weak/strong/copy)
OC中@property属性关键字的使用(assign/weak/strong/copy) 一.assign 用于 ‘基本数据类型’.‘枚举’.‘结构体’ 等非OC对象类型 eg:int.bool等 ...
- OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法
字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 ...
随机推荐
- Linux curl使用简单介绍
在两台新搬迁的微信服务器上执行命令: curl -H "Content-Type: application/json" -d '{"partner_no":&q ...
- CSS选择器、优先级与匹配原理
为了分析Bootstrap源码,所以的先把CSS选择器相关的东东给巩固好 废话就不多说了 CSS 2.1 selectors, Part 1 计算指定选择器的优先级:重新认识CSS的权重 标签的权值为 ...
- [IR] Compression
关系:Vocabulary vs. collection size Heaps’ law: M = kTbM is the size of the vocabulary, T is the numbe ...
- IP Failover Setup using Keepalived on CentOS/Redhat 6
source url:http://tecadmin.net/ip-failover-setup-using-keepalived-on-centos-redhat-6/ Keepalived is ...
- [数据库]sql之行顺序
这个文章主要是防止我忘了sql的执行顺序,解释的东西我都没怎么看懂.数据库渣如我- 逻辑查询处理阶段简介 FROM:对FROM子句中的前两个表执行笛卡尔积(Cartesian product)(交叉联 ...
- 软件测试之黑盒测试:打着手电寻找bug
功能测试,简单的理解就是黑盒测试,就是检测黑盒子,找到里面存在的缺陷. 功能测试新人学习计划: 1. 对于产品的学习---站在客户的角度学习产品.看待问题 测试人员不是简单地按照开发人员的设计文档去撰 ...
- ThreadLocal的基本原理与实现
一.概念 首先,ThreadLocal并不是一个Thread,这个类提供了线程局部变量,这些变量不同于它们的普通对应物,因为访问某个变量的每个线程都有自己的局部变量,它独立于变量的初始化副本. 二.基 ...
- 怎样在C#中从数据库中读取数据(数据读取器)
实现在C#中通过语句,查询数据库中的数据 SqlConnection con = null; //创建SqlConnection 的对象 try //try里面放可能出现错误的代码 ...
- 在WPF中使用文件夹选择对话框
开发中有时会想实现"选择某个文件夹"的效果: 在WPF中,使用Microsoft.Win32.OpenFileDialog只能选择文件,FolderBrowserDialog只能用 ...
- 从零开始学习Linux(cp 命令)
功能: 复制文件或目录说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若同时指定多个文件或目录, ...