- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在这里读了一些关于从 View Controller 传回数据的文章,我知道这肯定有一些禁忌,但我想询问以这种方式传递数据的最佳实践,并询问是否我在下面做的可以吗?
我有 3 个 View Controller (类 ViewControllerA、B 和 C),当用户单击按钮(从 A 或 B)时,它会使用以下命令将它们带到 C:
let vc = new ViewControllerC()
self.presentViewController(vc, animated: true, completion: nil)
向前传递数据所以上面的“self”是 A 或 B。我的想法是,如果我想向 C 发送一些信息,我可以只创建 C 的属性(例如字符串或 int 等)并在之前将其分配给上面我做了一个 presentViewController。是吗?
即 vc.propertyHere = "我的值(value)"
传回数据如果我想将 C 中发生的事情发回给 A 或 B,最佳做法是什么?要返回 A 或 B,我知道我可以这样做: self.dismissModalViewControllerAnimated(真)
我是否应该首先实例化 A 或 B(可能通过它们的基类型)并访问类似的属性以获得我想要传回的信息?例如,如果 A 和 B 都继承自某个类,我可以在该类上创建一个属性,然后从 C 访问/设置它。这是正确的做法吗?或者有更好的方法吗?即
callingViewController.myProperty = "my value i'm passing back"
谢谢!
最佳答案
向前传递数据 - 您的实现很好。
传回数据 -
不要再次启动 A 和 B,这是我在新开发人员中看到的一个常见错误。 A 或 B 已经存在,你从 A/B 来到这个新的 Controller ,你只是想将一个值传回那个类。
这里使用的最佳实践是委托(delegate)设计模式。
步骤:
创建一个协议(protocol),声明要在 A/B 中调用的方法。
在名为委托(delegate)的 C 中实现一个属性。
在呈现 View C 之前,分配委托(delegate)。
每当您想将任何信息传递给 A 或 B 时调用委托(delegate)方法。
在此处的另一个 SO 答案中解释了实现委托(delegate):How do I create delegates in Objective-C?
关于ios - 将信息传递给模态视图 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24865674/
阅读目录 1、视图介绍 2、创建视图 3、查询视图 4、修改视图 5、删除视图 6、检查选项
基于函数的视图你已经get了,基于类的视图get了吗?CBV本质不知道?点进来看源码分析~ Django 视图之FBV 与 CBV FBV(function base views) 基于函数的视图,就
SQLite 视图(View) 视图(View)只不过是通过相关的名称存储在数据库中的一个 SQLite 语句。视图(View)实际上是一个以预定义的 SQLite 查询形式存在的表的组合。 视图
视图 什么是视图?视图的作用是什么? 视图(view)是一种虚拟存在的表,是一个逻辑表,它本身是不包含数据的。作为一个select语句保存在数据字典中的。 通过视图,可以展现基表(用来创建视图
代码如下: CREATE OR REPLACE VIEW BLOG_V_ADMIN (ID,NICKNAME,SEX,EMAIL,
创建视图 视图包含应用的 HTML 代码,并将应用的控制器逻辑和表现逻辑进行分离。视图文件存放在 resources/views 目录中。下面是一个简单的视图示例:
加密测试的存储过程 ? 1
简介数据库快照 数据库快照,正如其名称所示那样,是数据库在某一时间点的视图。是SQL Server在2005之后的版本引入的特性。快照
一 ,mysql事务 MYSQL中只有INNODB类型的数据表才能支持事务处理。 启动事务有两种方法 (1) 用begin,rollback,commit来实现 复制代码代码如
前言 在日常开发中,存储数据的最常用的方式便是数据库了,其中最为著名的便是MySQL数据库,因它简便易于上手而且可扩展性强大,跨平台使得它广为使用。上一篇文章,我们讲到了它的安装,今天我们就来
1、视图 视图:VIEW,虚表,保存有实表的查询结果,实际数据不保存在磁盘 物化视图:实际数据在磁盘中有保存,加快访问,MySQL不支持物化视图 基表:视图依赖的表 视图中的数据事实上
事项开启和使用 ? 1
代码如下: create PROCEDURE sp_decrypt(@objectName varchar(50)) AS begin begin tran&
前言 在之前 《Oracle打怪升级之路一》中我们主要介绍了Oracle的基础和Oracle常用查询及函数,这篇文章作为补充,主要介绍Oracle的对象,视图、序列、同义词、索引等,以及PL/SQL编
我是一名优秀的程序员,十分优秀!