实例对象赋值给数组问题
for (int i=0; i<5; i++) { // for循环中每次都执行一次创建一个新的MovieTicket的实例对象(共创建5个),然后为其实例变量赋值 MovieTicket *mvTicket=[MovieTicket new]; // 电影名称 mvTicket.name=[NSString stringWithFormat:@"碟中谍 %02d",i+1]; // 导演 mvTicket.director=@"王中尧"; // 主演 mvTicket.actor=@"马星泽,张桐,郑二安"; // 影厅信息 mvTicket.place=[NSString stringWithFormat:@"%02d 厅",i+1]; // 首映时间 mvTicket.showTime=[NSString stringWithFormat:@"200%d-12-31",i]; // 开始时间 mvTicket.startTime=[NSString stringWithFormat:@"1%d:15",i]; // 电影编号 mvTicket.no=i+1; // 时长 mvTicket.lengthTime=120; // 票价 mvTicket.movieTicketPrice=35; // 最后把我们初始化完毕的实例对象赋给MovieTicket类型的数组 tickets[i]=mvTicket; }
麻烦问一下,上面这段代码里面,用实例对象的属性给数组赋值,整个循环里面只有一个实例对象mvTicket,在for循环里面,运行没有问题。
但是在下面的代码中,如果不定义一个mvtick2 ,数组ticket[2]中的值就会和ticket[1]中一样,为什么呢?
MovieTicket *mvticket1= [MovieTicket new] ; // 电影编号 mvticket1.no=1; // 电影名称 mvticket1.name=@"《变形金刚5》"; // 导演 mvticket1.director=@"迈克尔·贝"; // 主演 mvticket1.actor=@"马克·沃尔伯格"; // 开始时间 mvticket1.playtime=@"16:00"; // 时长 mvticket1.lengthtime=120; // 票价 mvticket1.price=35; //把对象存到数组中 tickets[1] = mvticket1; MovieTicket *mvticket2= [MovieTicket new] ; // 电影编号 mvticket2.no=2; // 电影名称 mvticket2.name=@"《神偷奶爸3》"; // 导演 mvticket2.director=@"凯尔·巴尔达"; // 主演 mvticket2.actor=@"史蒂夫·卡瑞尔"; // 开始时间 mvticket2.playtime=@"18:00"; // 时长 mvticket2.lengthtime=96; // 票价 mvticket2.price=40; //把对象存到数组中 tickets[2] = mvticket2;
71
收起
正在回答 回答被采纳积分+1
2回答
iOS入门:基础语法与常用控件
- 参与学习 1337 人
- 提交作业 712 份
- 解答问题 1878 个
很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星