页面1跳转到页面2,在页面2点击button后,页面1的内容被改变。实际使用 protocol(就是c#中的interface),将页面1的viewcontroller转换为protocol传入页面2的viewcontroller,非常类似于我们在c#中开发将_viewController转成接口传入其他自定义控件等中,实际就是在页面2放置一个引用,在swift里面这种做法叫委托,c#中也有。
 
这种思路应该是面向接口编程的一种体现,利用接口进行解开耦合。我现在能慢慢明白,其实swift之中的viewcontroller、xib相当于uwp之中的xaml和cs,但是我们在uwp中用mvc和mvvm喜欢自己再封装一层的viewcontroller,这个纯属是名称上两种语言的不同,会让我有点晕。但是从现在学习swift的角度看来,viewcontroller属于很基本的东西,主要用来画界面和纯ui的东西,在后期功能上去后,肯定还是要再封一层用来做ui逻辑的封装,就相当于uwp中mvvm的viewcontroller

从UWP到SWIFT-页面间反向传值的更多相关文章

  1. 使用Block来进行页面间的传值

    Block语法 定义Block //定义类型 typedef void (^ReceiveMessageBlock)(NSString *); //申明变量 ReceiveMessageBlock t ...

  2. HTML5 Web存储 页面间进行传值

    在实际使用过程中,经常会遇到需要在页面间进行传值的情况,最初设想一定需要后端才能进行数据的存储和读取,或者在本地使用一个cookie进行保存,直到了解到HTML5 Web存储 使用HTML5的新特性可 ...

  3. B/S结构中页面间的传值

    常见的页面间的传值有session,cookie,application,server.transfer(),queryString,今天主要记录一下server.transfer()的用法. 从A页 ...

  4. 利用Swift之协议语法实现页面间的传值功能

    随着Swift 新开发语言的发布,又随着Xcode6.0.1的正式发布,利用swift编写iOS代码迫在眉睫,笔者在使用Objective-C开发近三年以来,对这种优雅的语法深感赞叹,下面我将对比式的 ...

  5. JSP页面间的传值方法总结

    JSP 页面间传递参数是项目中经常需要的,这应该算是 web 基本功吧.试着将各种方式总结下来,需要时可以进行权衡利弊选择最合适的方式.下面来一起看看详细的介绍: 1. URL 链接后追加参数 ? 1 ...

  6. MVC 页面间的传值

    关于MVC页面之间的传值,有多种方式,下面,我们就Html.RenderAction 方式 和 Html.RenderPartial 方式 来给大家分享一下有什么不同. 一.Html.RenderAc ...

  7. jsp页面间的传值方法

    JSP页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数.下面介绍一下实现的方法. (1)直接在URL请求后添加 如:< a href="thexuan.jsp? ...

  8. vue项目各页面间的传值

    githut地址:https://github.com/liguoyong/vueobj1 一.父子之间主键传值:(主要是在父主件里的子主件传递参数,然后再子主件里用props接收) 例如Father ...

  9. laravel页面间的传值

    可以在前端页面元素上添加onclick事件  onclick='selectRaw(this)' js中写function selectRaw(obj){ var data=$(obj).attr(& ...

随机推荐

  1. activitygroup下的activity不回调onactivityresult的解决方法

    就是activitygroup下的子activity启动第三方activity的时候需要通过getparent的startactivityforresult方法来启动.getparent其实就是这个a ...

  2. 如何实现自定义的android WebView错误页

    一般来说,可能第一时间想到的是自定义一个html来替代webview内置的异常页面.  但是实际操作时,这种方法比较困难. 这里介绍一个简单的替代方案,希望能有所帮助. 可以采用嵌套layout的方式 ...

  3. 开发一个简单的python计算器

    要求: 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4* ...

  4. html slelect 标签默认值

    <select name="channelCode" id="channelCode" class="all_input" style ...

  5. .Net Core 跨平台系列之环境部署

    前言 作为一名.NET程序员,很多时候都会被什么拖控件.跨平台等字眼所鄙视过,但是在我的的内心还是没有把自己看低过.因为说到底,平台和语言只是我们吃饭的工具.很多时候公司的发展是取决于商业竞争的,微软 ...

  6. (转)spring boot注解 --@EnableAsync 异步调用

    原文:http://www.cnblogs.com/azhqiang/p/5609615.html EnableAsync注解的意思是可以异步执行,就是开启多线程的意思.可以标注在方法.类上. @Co ...

  7. centos7下安装使用docker

    1.使用 yum 从软件仓库安装 Docker:  yum install docker 2.启动 Docker 的守护进程:service docker start 3.因为下载docker hub ...

  8. eclipse 高亮代码

    本文整合自网络上的两种靠谱的使eclipse代码高亮的方式. 其实你可以在Window->proferences->java->editor->syndex coloring- ...

  9. XCode修改公司名称和作者名称

    新建的文件最上方都会有一段类似如下的版权声明 // //  ViewController.m //  CBDemoProject001 // //  Created by CB on 16/3/17. ...

  10. 查询oracle版本信息

    select * from v$version;select * from v$instance;select * from nls_database_parameters;select * from ...