iOS的OC和Swift混编经验总结
1. Swift调用OC的方法进行命名优化 - (void)testSomeClass:(id<SomeClass>)obj; - (void)testOtherClass:(id<OtherClass>)obj; 上面的OC方法在Swift中进行调用会合并成同一个 Class().test(_ obj:) 在Swift中会主动帮你进行重命名的优化,上面两...
1. Swift调用OC的方法进行命名优化 - (void)testSomeClass:(id<SomeClass>)obj; - (void)testOtherClass:(id<OtherClass>)obj; 上面的OC方法在Swift中进行调用会合并成同一个 Class().test(_ obj:) 在Swift中会主动帮你进行重命名的优化,上面两...
协议Protocol的关联类型 参考文档 泛型和关联类型的区别 从泛型和关联类型的调用和实现两个方面对比来看: 关联类型:实现方指定类型,调用方不指定。当你实现一个使用关联类型的函数的时候,你需要填充对应的类型,所以你知道实际的类型。调用方不知道你具体采用的类型。 泛型:调用方指定类型,实现方不指定。当你实现一个使用泛型的函数,不需要知道调用方具体采用的类型。你可以使用约束...
响应式编程 “A unified, declarative API for processing values over time” 统一、声明式、为处理变化的值而生的 API。 Apple在iOS13中,引入了Combine。在之前业界比较有名的是ReactiveX系列的Swift版本RxSwift。响应式编程也叫申明式编程,和我们常用的指令式变成有很大区别。 响应式编...
上一篇文章讲解js的变迁之旅 这一片文章回到浏览器部分,首先了解下加密技术,数据在明文传递过程中会被窃取,所以需要进行加密处理。 加密技术 对称加密 AES对称加密技巧,简单说就是有一个密钥,它可以加密一段信息,也可以对加密后的信息进行解密,和我们日常生活中用的钥匙作用差不多。 如果通信双方都各自持有同一个密钥,且没有别人知道,这两方的通信安全当然是可以被保证的(除非密钥被破解)。...
1. map { (Element) -> T in // Element的处理代码 } 简单说就是数组中每个元素通过某个方法进行操作,最后返回一个新的数组。 白话点就是:遍历数组每个元素并都进行相同的操作,返回操作后获取到的值 let test = [1, 2, 3] // 获取每个值的平方 let squares = test.map { $0 * $0 } // [...
Swift闭包其实相当于OC的匿名函数,当做函数入参的简写过程,在WWDC官方Swift课程里面有讲解的。 这里做一个记录,进行知识总结。OC的block使用下笔记可以看这篇文章 介绍 我们常使用的高阶函数就是使用闭包函数当入参之后简写出来的,例如 swift高阶函数可以看这篇文章 let sortArr: [Int] = [1, 2, 3] // 下方代码的作用是,遍历数...
1.Objective-C与Swift的异同? swift和OC的共同点: OC出现过的绝大多数概念,比如引用计数、ARC(自动引用计数)、属性、协议、接口、初始化、 扩展类、命名参数、匿名函数等,在Swift中继续有效(可能最多换个术语)。 Swift和Objective-C共用一套运行时环境,Swift的类型可以桥接到Objective-C(下面我简称OC), ...
起源 面试的时候,iOS面试题已经不局限在OC层面了,会问到很多内存相关的C层面的问题。 问你类占内存大小 @interface ClassA : NSObject { int a; int b; } @end class_getInstanceSize(ClassA.self) // 64为机型就是 16, 32位机型就是12 占内存大小16个字节,其中isa占8...
前端入门的上一篇可以看:向恐龙解释现代JavaScript 在了解React hooks之前,我们有必要了解下React的基础支持。 React 是由 Facebook 开源的一个JS 库,采用声明式的JSX语法来描述界面元素,高效且灵活的用于构建用户界面的 JavaScript 库,并使用单项数据流来管理页面的状态。 2013年,React发布之初主要是开发Web页面; 2...
上篇shell实用合集主要是介绍使用shell编程自动打开远程文件夹 本篇章主要介绍shell编程中发送请求和数据解析的实例 在编写过程中,碰到的问题大多都是语法编写上导致的问题,比如空格,换行,大小写之类的。 函数 #!/bin/bash # 函数命名,最长版,建议不要简写 # 使用 %1 进行参数获取 # return的值就是最后被print 出来的值 function ...