Movie * _movies[5];存储电影信息数组如何定义;具体方法?
老师好,这个问题卡了我一个礼拜,问了几次,但你们回答一直回答不到我的痛点上。因为课程中没有教怎样定义数组的属性和方法;但影院demo中老师一直强调定义一个存储电影的数组Movie *_movies[5];然后去Cinema初始化的时候直接赋值给_movies[0],课程中没有介绍下标及数组属性的声明,以及调用或实现方法!现在我想问的是,能不能请老师把影院关于影片数组的定义和实现方法源代码发一下?并且介绍一下数组属性的声明,和调用方法?非常感谢
29
收起
正在回答
2回答
1、首先在课程之前的学习内容中是有数组的定义和使用的讲解的。
2、代码实现的方式并不唯一,你可以自己去动手尝试一下,如果遇到什么不明白的问题,可以在问答里进行提问,或者贴出你的代码,这样便于更精确的帮助你解决问题。
3、下面给你介绍一下大体的思路,首先有两个类,一个Movie类,一个MovieTicket类。
(1)在MovieTicket.h中定义这个电影数组,如果还需要其他方法,就在.h文件中继续定义。
#import <Foundation/Foundation.h> #import "Movie.h" #define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]) /** * 电影院类. */ @interface MovieTicket : NSObject { //当前电影院存储热播电影的数组.一共可以热播5部电影. Movie *_movies[5]; } @end
(2)在MovieTicket.m中完成数组相关信息的初始化,直接使用_movies[0]这样下标的形式即可存储对应的信息。其中电影Movie的初始化方法,可以在Movie类中自定义构造方法。
#import "MovieTicket.h" @implementation MovieTicket //构造方法:初始化电影院对象的属性. - (instancetype)initWithName:(NSString *)name { if(self = [super init]) { self.name = name; //要为热播数组存储5部热播电影. _movies[0] = [[Movie alloc] initWithName:@"西游记之孙悟空三打白骨精" andStarring:@"郭富城" andDirector:@"郑保瑞" andReleaseTime:@"2016-02-08" andDuration:120 andStartTime:@"19:30"]; _movies[1] = [[Movie alloc] initWithName:@"长城" andStarring:@"张涵予" andDirector:@"张艺谋" andReleaseTime:@"2016-12-31" andDuration:130 andStartTime:@"20:00"]; _movies[2] = [[Movie alloc] initWithName:@"西游伏妖篇" andStarring:@"林更新" andDirector:@"徐克" andReleaseTime:@"2017-01-01" andDuration:100 andStartTime:@"20:30"]; _movies[3] = [[Movie alloc] initWithName:@"盗墓笔记之七星鲁王宫" andStarring:@"井柏然" andDirector:@"李仁港" andReleaseTime:@"2016-07-11" andDuration:110 andStartTime:@"21:00"]; _movies[4] = [[Movie alloc] initWithName:@"疯狂的外星人" andStarring:@"刘小杭" andDirector:@"宁浩" andReleaseTime:@"2016-11-12" andDuration:180 andStartTime:@"21:30"]; } return self; } @end
幕布斯2332854
2018-05-08 07:17:53
非常感谢啦
iOS入门:基础语法与常用控件
- 参与学习 1337 人
- 提交作业 712 份
- 解答问题 1878 个
很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星