作为 Flutter 中另一个类的参数的类列表
Posted
技术标签:
【中文标题】作为 Flutter 中另一个类的参数的类列表【英文标题】:List of classes as an argument for another class in Flutter 【发布时间】:2021-07-05 15:32:20 【问题描述】:我对颤动有点陌生,我认为我在 1 个字段上缺少正确的语法。我试过搜索一个例子,但我认为我用错了词。任何帮助将不胜感激。
我有 2 个类,工作和任务,其中一个工作由许多任务组成。
class Job
int jobID;
//List task_list; this is where I am having issues
String imgageURL
String jobName;
Job(
this.jobId,
this.task_list,
this.imageURL,
this.jobName,
);
class Task
int taskID;
String imageURL;
String name;
String type;
int taskTime;
Task(
this.taskID,
this.imageURL,
this.name,
this.type,
this.taskTime,
)
我尝试定义所有任务,然后将它们分配给一个列表,但我不确定是否将其传递给作业。我希望这份名单可以增长,因为有些工作会有更多的任务。但现在我只添加了 3 个。
final List<Task> all_tasks= [_task1,_task2,_task3];
最终,我希望能够将所有数据从分配的任务传递给它的父作业,以便可以根据需要在作业中访问它。我曾考虑将所有字段添加到任务中,然后只列出一个任务列表,但我要为作业分配更多字段,然后在每个任务中重复这些字段,这似乎很浪费。
是否可以在作业类或数组中做一个列表?我觉得我错过了一些明显的东西。
希望这是有道理的。
【问题讨论】:
【参考方案1】:你快到了;我认为这应该可行:
class Job
int jobID;
List<Task> task_list;
String imageURL;
String jobName;
Job(
this.jobId,
this.task_list,
this.imageURL,
this.jobName,
);
class Task
int taskID;
String imageURL;
String name;
String type;
int taskTime;
Task(
this.taskID,
this.imageURL,
this.name,
this.type,
this.taskTime,
)
final int myId = 1234;
final List<Task> all_tasks= [_task1,_task2,_task3];
final String myUrl = 'www.***.com';
final String myJobName = 'developer';
final Job myJob = Job(myId, all_tasks, myUrl, myJobName);
List 的类型几乎可以是任何类;把它放在之间。如果列表元素可以是变量类型,则可以使用List。
【讨论】:
以上是关于作为 Flutter 中另一个类的参数的类列表的主要内容,如果未能解决你的问题,请参考以下文章
Python 类的 init 函数将自己的类的实例作为默认参数
StateObject 作为 init() 中另一个对象的参数