实例对象赋值给数组问题
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 星