Movie * _movies[5];存储电影信息数组如何定义;具体方法?

Movie * _movies[5];存储电影信息数组如何定义;具体方法?

老师好,这个问题卡了我一个礼拜,问了几次,但你们回答一直回答不到我的痛点上。因为课程中没有教怎样定义数组的属性和方法;但影院demo中老师一直强调定义一个存储电影的数组Movie *_movies[5];然后去Cinema初始化的时候直接赋值给_movies[0],课程中没有介绍下标及数组属性的声明,以及调用或实现方法!现在我想问的是,能不能请老师把影院关于影片数组的定义和实现方法源代码发一下?并且介绍一下数组属性的声明,和调用方法?非常感谢

正在回答

登陆购买课程后可参与讨论,去登陆

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


  • 这个自定义构造方法要声明在哪个h文件里呢
    2018-06-02 16:21:23
  • 这个方法已经写了啊,就在MovieTicket类中啊,你可以看看代码的头文件类,如果还有什么不明白的地方,可以在问答里进行提问,助教都会帮助解决。祝学习愉快~
    2018-06-03 11:38:47
  • cinema类是不是要继承movieticket类
    2018-06-04 11:27:25
提问者 幕布斯2332854 2018-05-08 07:17:53

非常感谢啦

  • 你做出来了吗,能不能指导一下,老师说的思路看不太懂。
    2018-06-02 16:23:56
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS入门:基础语法与常用控件
  • 参与学习       1337    人
  • 提交作业       712    份
  • 解答问题       1878    个

很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师