在这个地方我们将通过一个例子来演示怎样来创建一个对象,创建数组,怎样将数组中的对象的属性都输出来。

首先为了完成这样的一个目标我们需要做的是创建一个对象:

#import <Foundation/Foundation.h>
@interface Person : NSObject
@property(nonatomic,copy) NSString *pname;
@property(nonatomic,assign) int age;
-(instancetype)initWithPname:(NSString *)pname andage:(int)age;
+(instancetype)personWithinit:(NSString *)pname andage:(int)age;
@end

在这个地方我们创建了一个对象,并且声明了两个构造方法。

类的实现文件:

import "Person.h"
@implementation Person
-(instancetype)initWithPname:(NSString*)pname andage:(int)age
{
    if([super init])
    {
        _pname=pname;//当我们在变量的前面加上@property这个访问权的时候,系统会在我们定义的变量的前面加上

//下划线_所以我们在使用变量的时候应在变量的下面加上一个下划线。

_age=age;
    }
    return  self;
}
+(instancetype)personWithinit:(NSString*)pname andage:(int)age
{
    return [[self alloc] initWithPname:pname andage:age];
}

//在这个地方我们重载的方法description这个方法,这个方法在我们输出对象的时候会主动的调用。

-(NSString *)description
{
    return [NSString stringWithFormat:@"name=%@,age=%d",_pname,_age];

}
@end

//最后是我们的主函数,主函数的要实现的功能有哪些,第一是我们要创建对象,并且我们要将对象放到数组中,最后还要遍历数组。

#import "Person.h"
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSMutableArray *arr=[NSMutableArray arrayWithCapacity:5];

//首先是我们用NSMutableArray创建一个数组对象,并且给这个数组开辟5个内存空间。

Person *p1=[Person personWithinit:@"xiaoming" andage:5];//我们创建对象其实在创建对象的时候我们这个地方也清晰的可以看到的是5为什么我们要定义类方法。其中类方法中也使用了对象的构造函数这个方法。
         Person *p2=[Person personWithinit:@"daming" andage:6];
         Person *p3=[Person personWithinit:@"zhongming" andage:7];
         Person *p4=[Person personWithinit:@"wangming" andage:8];

//将我们创建的对象放到数组中用到的函数是addObject这个函数。

[arr addObject:p1];
        [arr addObject:p2];
        [arr addObject:p3];
        [arr addObject:p4];
        for(Person *p5 in arr)
        {
            NSLog(@"%@",p5);//这个地方是遍历对象,其实在输出对象的时候,会主动的调用函数description
         }
    }
    return 0;
}

//到此为止我们也就是实现了对象的创建,储蓄,和遍历。

OC中创建对象,存入数组,并且遍历对象相关推荐

  1. js,根据一个数组,遍历对象数组,进行多条件并列的筛选或过滤

    js,根据一个数组,遍历对象数组,进行多条件并列的筛选或过滤 1. 筛选是否 2. 筛选特定值 多条件并列:某一条数据的两个以上的属性,同时满足筛选条件 1. 筛选是否 业务场景:返回一个对象数组,在 ...

  2. js中判断空数组和空对象的方法

    复习的时候做一些学习的笔记总结. javascript的值的类型: 原始值:number.string.boolean.undefined.null.symbol(ES6).bigint(ES10) ...

  3. 在JS中利用for...in循环遍历对象

    for...in循环可以在js中遍历对象或者数组,比如当我们想要输出内容中的所有对象,就可以使用for...in循环 <script> //使用方法 for(键 in 对象)var obj ...

  4. v-for遍历数组 || v-for遍历对象

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  5. json 中关于json数组跟json对象的区别

    JSON 是存储和交换文本信息的语法:JSON 文本格式在语法上与创建 JavaScript 对象的代码相同.由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数, ...

  6. bash中字符串和数组的遍历

    让我们看如下的bash script A="china fengxi zhongguo" echo "echo varialbe A directly:" $A ...

  7. OC中的NSArray和NSMutableArray、NSDictionary和NSMutableDictionary用法

    一:NSArray 和NSMutableArray 1: NSArray:不可变数组 NSArray是OC中使用的数组,只能用来存放OC对象,不能存放非OC对象如基本数据类型 它使不可变的,一旦初始化 ...

  8. 今日前端小知识——遍历对象的方法

    遍历对象的 5 种方法 for...in... Object.entries()/Object.keys()/Object.values() Object.getOwnPropertyNames(ta ...

  9. javascript中如何创建数组-与创建数组的几种方法

    javascript中数组的创建方式有3种,我只学了3种,还有没有其他方法我也不知道哈.... 下面我们来看看 js中创建数组的其中一种方法. //先写一种最常规的的创建JS数组的方法 var arr ...

最新文章

  1. 兄弟连html5在线画板,IT兄弟连 HTML5教程 HTML5做到了与之前版本的兼容
  2. 已经使用过的rails插件
  3. java+object+graph,graphql-go:使用Object作为查询的输入参数
  4. 2020年中国职业教育行业白皮书
  5. 宁波大学计算机网络实验五,宁波大学计算机网络实验四.doc
  6. 10.66道经典的Java基础面试题集锦为何晴空
  7. 如何用Java构建json对象
  8. android小米卸载app,MIUI系统软件卸载工具
  9. 锁定计算机还能远程控制,我的电脑可能被远程控制
  10. 如何合并两个excel表格数据
  11. CodecContext-gop_size 是什么
  12. Java课程设计之你画我猜
  13. windows系统清除电脑地址栏文件(夹)路径
  14. C和C++的二进制,八进制,十六进制输出格式(全面版)
  15. 语音输入是计算机在哪个领域的应用,语音识别技术是什么_语音识别技术应用领域介绍...
  16. Luat模块应用手册-指南-Luat二次开发教程指南-功能开发教程-长连接超低功耗方案
  17. java上传文件夹到oss
  18. JAVA计算机毕业设计远程教育系统Mybatis+系统+数据库+调试部署
  19. 英语语法总结--动词不定式
  20. 【若依(ruoyi)】点击图标查看图片

热门文章

  1. nullnullHandling the Results 处理结果
  2. 思科三层交换配置清单与案例
  3. SharpDevelop
  4. 某程序员吐槽:前端开发被哄抢,专科学历能进大厂;客户端开发找工作难如登天,985本硕拿不到一个offer!...
  5. 这次我让你彻底弄懂 RESTful
  6. 基于Spring Boot+Cloud构建微云架构
  7. Leangoo看板协作工具与Trello还真的不一样
  8. B2B2C多用户商城就等于零售吗?什么是新零售?新零售有哪些特点?
  9. Python的设计定位
  10. word技巧 输入方框中带对勾的符号的快捷方式