首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Swift 代理模式

    Xcode 8.2 | Swift 3.0 在iOS开发中,无论是 Objective-C 还是 Swift ,Delegate 有着具足轻重的位置,如TabelViewDelegate 与 TableViewDataSource...Objective-C 代理模式 在介绍 Swift 代理模式前,先来看回顾一下 Objective-C 中的代理模式如何实现 Objective-C 中用代理实现反向值: 委托方(子控制器) 委托方需要实现...创建协议 、声明协议方法 创建一个代理属性 执行协议方法 代理方(主控制器) 代理方需要实现 遵守(继承)协议 代理设为自己 实现代理方法 Swift 代理模式 Swift 代理模式 与 Objective-C...Swift 中用代理实现反向值: 委托方(子控制器) 创建协议 、声明协议方法 创建一个代理属性 执行协议方法 代理方(主控制器) 继承协议 代理设为自己 实现代理方法 总结 对比可以方法 Swift.../// 使用扩展继承协议 实现协议方法 可以分离代码 extension ViewController: SubViewDelegate{ /// 实现代理方法 func backStr

    50010

    module & Swift

    但编译时,.modulemap文件和x.swiftmodule目录,应该和Headers目录平级 .modulemap文件和x.swiftmodule目录,Modules目录移动到.framework...'${SRCROOT}/LGSwiftC/Public/LGSwiftB.framework' SWIFT_INCLUDE_PATHS:传递给SwiftC编译器 在指定路径下查找swiftmodule...SwiftProject链接OCFramework动态库 在ViewController.swift中,使用OCFramework动态库的方法,出现以下问题: 无法对LGTeacherNameString...类型的属性赋值枚举值 teacherName方法的命名,被改为teacherName(for:),但我们预期的是teacherName(forIndex:)changeTeacherName方法,我们希望它作为私有方法...NS_REFINED_FOR_SWIFT宏,Swift的Clang Importer将做一些额外的工作,将该方法导入为私有方法,并以双下划线字符__开头 在SwiftProject中,打开ViewController.swift

    2.1K45

    weex-30-如何使用扫码功能

    897C5481-C48E-4CC2-BF3D-313857B9BCC5.png 截止2017-5-8 号,weex框架没有提供扫描二维码的模块,所以就有了本节的内容 本节学习目标 自定义一个扫描二维码模块...weex,这部一定要做,否则weex无法解析到js文件中的 camera 模块的scanCode 方法 WX_EXPORT_METHOD(@selector(scanCode:)) -(void)scanCode...// 下面这个是我定义的扫描二维码的原生类 XJScanViewController *scanVC= [[XJScanViewController alloc]init]; // 将回调函数传递给...scanVC 视图控制器,如果扫描到二维码值传递给此闭包函数 scanVC.callback = callback; [self.weexInstance.viewController.navigationController...session startRunning]; } - (void)dealloc { [_captureLayer removeFromSuperlayer]; } 不知道大家没有注意到回调函数我的参数是一个

    1.5K10

    swift学习笔记】二.页面转跳数据回

    上一篇我们介绍了页面转跳:【swift学习笔记】一.页面转跳的条件判断和值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回"两个字,回传到父页面。   ...protocol ValueBackDelegate { func ValueBack(value: String) }   protocol可以理解为interface,ValueBack方法就是回的数据...我们要去找一个类去实现他 就我们的第一个页面,ViewController class ViewController: UIViewController , ValueBackDelegate 还要实现...protocol的方法,我们让textfield去接收回传过来的数据。...= value } 页面2我们要来一个protocol属性,在返回的时候,我们把传过来的值加上“回”两个字 并返回到页面1 var valueBackDelegate: ValueBackDelegate

    1.1K90

    iOS-Swift 方法

    2. main.sil 分析 为了方便阅读, main.sil 文件拖拽到项目的目录文件下,与 main.swift 同一目录,如下: 具体的内容大家可以自己去生成看看,我只对重要的部分代码贴出来做讲解...这就说明,在结构体中,如果方法前加上 mutating 修饰符,底层会把 SHPoint 这个参数前加上 inout,本质上就是 SHPoint 实例的地址。...2. 虚函数表的引入 用这句命令生成 ViewController.sil 文件。...… 五、ARM 汇编的常见指令 mov:某一寄存器的值复制到另一寄存器(只能用于寄存器与寄存器或者寄存器与常量之间值,不能用于内存地址),如: mov x1, x0 // 寄存器 x0 的值复制到寄存器...x1 中 (滑动显示更多) add: 某一寄存器的值和另一寄存器的值 相加 并将结果保存在另一寄存器中, 如: add x0, x1, x2 // 寄存器 x1 和 x2 的值相加后保存到寄存器

    3.1K40

    iOS中动态更新补丁策略JSPatch运用基础二

    本篇博客基于上一篇继续介绍Objective-C中的一些特殊数据类型在JavaScript文件中的使用方法,博客中大部分内容扩展自JSPatch开源git的wiki:https://github.com...: 1} 2.选择器Selector     对于Objective-C中的方法选择器Selector,在JavaScript中使用字符串的形式创建,例如: self.performSelector_withObject...中的block,一种是JavaScript文件中的函数块作为block参数传递给Objective-C。     ...block传递给Objective-C就复杂一些,需要使用block()方法进行包装,例如: Objective-C: @interface ViewController () @end @implementation...JavaScript中的Func进行包装时,block(param1,param2)有两个参数,第1个参数设置func中的参数类型,如果有多个参数,使用逗号分割;第2个参数为func函数体。

    65120

    携程、阿里、京东、腾讯iOS春招面试过程以及面试题总结!

    实习工资(正式还没谈)、福利、部门、地理位置都还不错,到现在也还在实习。 * * * 携程 携程是一家很令人蛋疼的公司。 内推投了携程,通过了测评。...请写出程序输出结果 对数组 "12-12","12-11", "12-11", "12-11", "12-13", "12-14" 去重同时进行排序 使用递归方法计算99到1相加的计算结果。...假设ViewController中需要用一个Blcok来改变ViewController中的一个属性,需要怎么实现? 这样实现之后,这个Block在内存中被存在何处?引用关系又是怎么样的?...如何 MVC 改造成 MVVM ?在MVVM中,网络请求、缓存处理的部分应该放在哪个模块? 为什么说Swift是面向协议的语言?使用 Protocol 有什么好处?...比较一下 Swift 和 Objective-C 在语言层面上的安全性? 如果ViewController中使用闭包时,用weak避免循环引用,会有什么问题? 当点击一个View时,发生了什么?

    1.5K00

    swift组件化

    swift组件化 看了很多关于iOS组件化的文章,觉得光是看不写不足以很好的理解组件化,所以就自己写了一个demo以组件化构建。...如若有不知道如何使用的Google一下就行,使用方法很简单,类似pod。以及如何写好的framework提交到carthage管理,可以参考我的这篇笔记 ?...第一模块present一个橘黄色的控制器,并且这橘黄色控制器是在第二模块中创建的。...第二模块push一个蓝色的控制器,并且传递一个字符串,这蓝色的控制器是在第一模块中创建的, Demo代码释义 1、AppDelegate.swift 在APPDelegate注册路由跳转scheme为...return true } } 3、第二模块SecondViewController 我们是在第二模块的控制器中push的第一模块的BlueViewController控制器页面,并且

    1.8K30

    事件传递、响应者链条

    UIApplication和UIWindow通过sendEvent:方法传递事件 UIWindow 之后会通过hitTest:withEvent:方法寻找触碰点所在的视图 hitTest:withEvent...(self.userInteractionEnabled == NO || self.hidden == YES || self.alpha <= 0.01) return nil; // 2....[self pointInside:point withEvent:event]) return nil; // 3.后往前遍历自己的子控件,看是否有子控件更适合响应此事件 int count...(即调用super的touches方法),之前往下走的路线往上回,在其中加入了Viewtroller来处理 如果view的控制器存在,就传递给控制器;如果控制器不存在,则将其传递给它的父View...在视图层次结构的最顶级视图,传递给ViewController ViewController事件传递给window对象进行处理 window对象继续事件或消息传递给UIApplication

    88310

    27.Swift学习之与OC混编

    在目前iOS开发语言Objective-C到Swift的过渡时期,开发中难免会碰到两种语言同时存在的情况,如果在同一个项目中,两种语言并存,那么该项目就是一个混合项目。...Header文件,该头文件是自动生成的并且对开发者透明 在Swift代码中将需要暴露给OC调用的属性和方法前加上 @objc修饰符,关于这个内容可查看之前的博文 class Person: NSObject...{ @objc func eat(){ print("吃饭了") } } 最后直接在OC代码中调用Swift #import "ViewController.h..." #import "AA-Swift.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad...如果Bridging Header文件不是Xcode帮助新建的,而是自己新建的头文件,那么会因为找不到“桥接文件”而编译失败,此时需要在 building setting里搜索bridging关键字,文件的路径值改成实际文件的路径即可

    1.2K10

    平面检测-搜索真实世界的表面

    在我们的例子中,ViewController将自己指定为ARSCNView的委托,委托者,场景视图中检索内容的任务,管理其更新并处理其事件。...右键单击ViewController.swift并选择新建文件...。然后,在Source下选择Swift File,点击Next。...在ViewController.swift文件中,将其删除。当我们在它时,向下滚动并删除Mark下的注释掉的代码,这是该协议下的一个方法的给定示例。Mark帮助我们分离文件中的代码段。...添加锚点 让我们回到ViewController + ARSCNViewDelegate.swift。现在,让我们ARSCNViewDelegate实现一个新方法来查找表面。...ARPlaneAnchor 更新平面锚点的尺寸的方法,我们首先必须将其场景中删除,然后将其添加回来。对于的所有子节点的节点,从父节点删除它们。

    2.9K30

    Swift| 基础语法(五)

    前言 总结下 swift下的基础语法,里面涉及到:常量&变量、Swift中的数据类型、逻辑分支、循环、字符串相关、数组和字典、方法的书写调用等内容,考虑到阅读体验分多篇来展示,希望对大家学习swift...Swift| 基础语法(一) Swift| 基础语法(二) Swift| 基础语法(三) Swift| 基础语法(四) Swift| 基础语法(五) 本文涉及: 纯代码创建应用根试图 UILabel...{ // 创建UIWindow对象,并初始化该窗口的大小与主屏幕大小相同 let rect : CGRect = UIScreen.main.bounds // 程序创建的...} 在Swift中,创建tableViewCell的方法可以分为两种创建tableView时候注册和需要使用时手动创建。先聊聊创建tableView的时候直接注册cell: myTb?....因为在Swift中,所有对象的构造器默认都是public,所以需要重写你的init让其成为私有的。 这样就保证像如下的代码编译报错,不能通过。 六、相册选择照片或者拍照 ?

    2K30

    窥探Swift之协议(Protocol)和委托代理(Delegate)回调的使用

    2. 给上述Cell绑定相应的Swift源码,并关联ImageView和Label, 相应Cell(BeautifulGrillCell)的代码如下所示。...我们在UIViewController上贴了一层UITableView, 所以我们需要在相应的ViewController对应的Swift源码中进行UITableView的绑定,并实现UITableViewDatasource...代码如下: 1 import UIKit 2 3 class ViewController: UIViewController, UITableViewDataSource { 4 5...对myTableView的dataSource(数据提供者)指定完代理对象后,接下来就是要实现UITableViewDataSource中的相应的方法了,ViewController通过这些协议委托回调的代理方法来为...(2)UI就如数所示,为EditViewController关联EditViewController.swift源文件后,再对其上面的使用到的控件进行关联即可。

    3.5K80

    iOS秋招总结 = 面经 + 闲言碎语 (不断更新)

    实习工资(正式还没谈)、福利、部门、地理位置都还不错,到现在也还在实习。 携程 携程是一家很令人蛋疼的公司。 内推投了携程,通过了测评。...B地点走,小白B地点以20米/分钟的速度向A地点走,两人同时出发,用代码写出他们多少分钟后遇到?...假设ViewController中需要用一个Blcok来改变ViewController中的一个属性,需要怎么实现? 这样实现之后,这个Block在内存中被存在何处?引用关系又是怎么样的?...如何 MVC 改造成 MVVM ?在MVVM中,网络请求、缓存处理的部分应该放在哪个模块? 为什么说Swift是面向协议的语言?...使用 Protocol 有什么好处 比较一下 Swift 和 Objective-C 在语言层面上的安全性? 如果ViewController中使用闭包时,用weak避免循环引用,会有什么问题?

    1.6K40
    领券