与用户通过我的准备任务选择的单元格相比,我想将不同的URL传递给下一个VC,但是我该怎么做呢?谢谢!
localstorage
答案 0 :(得分:1)
正如Matt在评论中所说,您知道在didSelectRowAt()
方法中选择了哪个单元格。您可以使用用户选择的行从数据模型中提取一个URL,从该URL中获取一些数据,然后将这些信息放到地板上。
相反,请在视图控制器userSelectedRow中创建一个实例变量,然后在didSelectRowAt()方法中进行设置。然后,在您的prepareForSegue中,使用选定的行获取所需的信息,并将其传递给目标视图控制器。
或者,如Matt所言,不要保存任何东西。使该行保持选中状态,然后在prepare(for:)
中,查询表视图中所选择的行,并使用该行来获取数据。
顺便说一句,如果URL是到远程服务器的,则您应该不使用Data(contentsOf:)
来读取它。这是一个同步调用,它将阻塞您的用户界面,直到完成为止。您可能会导致UI冻结最多2分钟,以尝试通过该调用从远程服务器读取数据。 (这将导致您的应用被视为无响应而被杀死。)