• Swift: 比较Swift中闭包传值、OC中的Block传值

    时间:2024-01-12 13:28:13

    一、介绍开发者对匿名函数应该很清楚,其实它就是一个没有名字的函数或者方法,给人直观的感觉就是只能看到参数和返回值。在iOS开发中中,它又有自己的称呼,在OC中叫Block代码块,在Swift中叫闭包(Closure)函数。在我个人看来,两者并没有什么太大不同,定义和实现方式差不多,只不过是名称不一样...

  • iOS swift 富文本显示 富文本在iOS中使用场景和解决方案

    时间:2024-01-12 09:47:52

    项目中很多地方都会用到富文本的内容:比如一般的商品详情,视频详情,资讯详情等,运营人员通过后台的富文本编辑器编辑的内容,前端拿到的就是一段富文本的字符串,这富文本大多都是图片和文字的组合。我们今天介绍的RichTextView就是一个用来加载富文本的视图富文本要显示出来可以使用NSAttribute...

  • swift 初始化

    时间:2024-01-11 16:15:01

    知识点总结:1、结构体1.1、默认初始化方法:1、空初始化方法;2、成员初始化方法struct Person{ var name = "tom" var age = }let person = Person()//空初始化方法print("person:name=\(person.nam...

  • 算法与数据结构(一) 线性表的顺序存储与链式存储(Swift版)

    时间:2024-01-10 15:12:52

    温故而知新,在接下来的几篇博客中,将会系统的对数据结构的相关内容进行回顾并总结。数据结构乃编程的基础呢,还是要不时拿出来翻一翻回顾一下。当然数据结构相关博客中我们以Swift语言来实现。因为Swift语言是面向对象语言,所以在相关示例实现的时候与之前在大学学数据结构时C语言的实现有些出入,不过数据结...

  • ReactiveSwift源码解析(十一) Atomic的代码实现以及其中的Defer延迟、Posix互斥锁、递归锁

    时间:2024-01-10 13:49:16

    本篇博客我们来聊一下ReactiveSwift中的原子性操作,在此内容上我们简单的聊一下Posix互斥锁以及递归锁的概念以及使用场景。然后再聊一下Atomic的代码实现。Atomic主要负责多线程下的原子操作,负责共享资源的同步一致性。而在Atomic中就是使用到了Posix互斥锁和递归锁。在聊上述...

  • Swift类型检查与转换

    时间:2024-01-10 09:25:21

    继承会发生在子类和父类中,如图所示,是一系列类的继承关系类图,Person是类层次结构中的根类,Student是Person的直接子类,Worker是Person的直接子类。这个继承关系类图的具体实现代码如下:class Person {var name : Stringvar age : Intf...

  • 算法与数据结构(十三) 冒泡排序、插入排序、希尔排序、选择排序(Swift3.0版)

    时间:2024-01-07 22:47:38

    本篇博客中的代码实现依然采用Swift3.0来实现。在前几篇博客连续的介绍了关于查找的相关内容, 大约包括线性数据结构的顺序查找、折半查找、插值查找、Fibonacci查找,还包括数结构的二叉排序树以及平衡二叉树的构建与查找,然后还聊了哈希表的构建与查找。接下来的几篇博客中我们就集中的聊一下常见的集...

  • 【Swift学习】Swift编程之旅---集合类型之字典(八)

    时间:2024-01-07 19:40:26

    字典是一种存储相同类型多重数据的存储器。每个值(value)都关联独特的键(key),键作为字典中的这个值数据的标识符。和数组中的数据项不同,字典中的数据项并没有具体顺序。字典写作Dictionary<Key, Value>。也可以写作[Key: Value]创建空字典var names...

  • Don’t Put View Code Into Your View Controller别把View创建的代码放在VC中(swift)

    时间:2024-01-07 18:53:22

    Don’t Put Into Your View Controller别把View创建的代码放在VC中html, body {overflow-x: initial !important;}.CodeMirror { height: auto; }.CodeMirror-scroll { over...

  • Swift2.1 语法指南——访问控制

    时间:2024-01-07 08:40:33

    原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AccessControl.html#//apple_ref/doc/uid...

  • Swift - 开源框架总结

    时间:2024-01-06 08:18:35

    苹果官方Swift文档《The Swift Programming Language》苹果开发者Swift文档及介绍网友整理的Swift中文文档《 Apple Swift编程语言入门教程》中文版Apple官方Swift教程(Github协作翻译中)Apple Swift编程语言入门教程Swift语言...

  • Swift数据类型简介

    时间:2024-01-05 16:47:51

    用 Swift 编写 iOS 和 OS X 应用将是一场美妙的体验,Swift 之后也会不断开发新特性和兼容性。Swift提供了与C、Objective-C的相似的基础数据类型,包含整数Int,浮点数Double、Float,布尔值 Bool 以及String字符串。同时Swift也提供了两种强大的...

  • swift3.0基础语法

    时间:2024-01-04 08:58:42

    swift 3.0 基础语法目录01-变量和常量02-运算符03-可选项04-条件语句05-循环06-字符串07-元组08-数组09-字典10-对象和类11-枚举12-属性13-下标脚本01-变量和常量1.1基本数据类型 1.整数: Int 2.浮点数: Double表示64位浮点数,...

  • 升级到Xcode8.2.1(Swift 2.3升级到3.0)

    时间:2024-01-04 08:38:05

    最近呢把我的几个混编项目,和swift项目做了一个升级。那么今天就给大家分享一下遇到的问题和解决的办法。首先那肯定的升级Xcode啦,我2015年的时候用的一直是Xcode7.1,电脑系统是OSX 10.10,要想升级Xcode8.0以上系统也要升级到10.11以上,这个他会提示的。这c哥(我的自称...

  • Swift-打开其它Storyboard中的自定义模态窗口

    时间:2024-01-02 21:28:24

    本文的方法针对OS X应用开发。如果想在某个ViewController中,用模态窗口的方式,打开某个Storyboard中定义的WindowController。可用以下方式。let story = NSStoryboard(name: "DebugStoryboard", bundle: nil...

  • swift学习笔记之-高级运算符

    时间:2024-01-02 18:30:15

    //高级运算符import UIKit/*高级运算符(Advanced Operators):位运算符、溢出运算符、优先级和结合性、运算符函数、自定义运算符位运算符:1.位运算符可以操作数据结构中每个独立的比特位。它们通常被用在底层开发中,比如图形编程和创建设备驱动。位运算符在处理外部资源的原始数据...

  • Swift基础之Demo包含刷新,加载,网络请求,MVC

    时间:2024-01-02 16:46:56

    Swift中有一个Alamofire第三方是进行网络请求的,它是AFNetworking的作者写的Swift形式,今天先介绍一下,利用pod导入AFNetworking,SVProgressHUD,MJRefresh等第三方实现刷新数据、加载更多、网络请求,同时使用了MVC的模式进行界面搭建,随后研...

  • Swift 里字符串(八)UnicodeScalarView

    时间:2024-01-02 15:12:20

    即以 Unicode Scarlar 的方式来查看字符串。 /// let flag = "

  • swift swizzle

    时间:2024-01-01 15:33:28

    SWIZZLE由 王巍 (@ONEVCAT) 发布于 2015/09/30Swizzle 是 Objective-C 运行时的黑魔法之一。我们可以通过 Swizzle 的手段,在运行时对某些方法的实现进行替换,这是 Objective-C 甚至说 Cocoa 开发中最为华丽,同时也是最为危险的技巧之...

  • Dijkstra算法(Swift版)

    时间:2023-12-31 21:23:39

    原理我们知道,使用Breadth-first search算法能够找到到达某个目标的最短路径,但这个算法没考虑weight,因此我们再为每个edge添加了权重后,我们就需要使用Dijkstra算法来寻找权重和最小的路径。其实原理很简单,我们最终的目的是计算出每一个节点到起点的权重之和,同时获取得到这...