IOS-SWIFT - 技术教程文章

为什么苹果新语言Swift的RC4运算效能是Python的220倍?【图】

Swift 是解释型语言吧,真能做到那么快吗,或者210倍只是特殊的某些功能上的速度对比,四则运算应该提升不了这么多吧?回复内容: 与提问者的直觉相反,四则运算恰恰是Python(相对于C)最慢的部分。一个整数a+b在Python VM里要经过大约上百行的C代码,其中包括bytecode解释,动态类型带来的间接调用,对bigint的无缝支持等等。要在四则运算上比Python快上百倍,只需要性能不比C差出数量级就可以。这也是各种JIT最喜欢拿四则运算作...

Swift中属性的声明与作用

一、引言属性将值与类,结构体,枚举进行关联。Swift中的属性分为存储属性和计算属性两种,存储属性用于存储一个值,其只能用于类与结构体,计算属性用于计算一个值,其可以用于类,结构体和枚举。二、存储属性存储属性使用变量或者常量来存储一个值,在声明存储属性时,可以为其设置一个默认值,也可以在构造示例是进行值的设置,属性可以通过点语法来访问,结构体的存储属性示例代码如下:struct MyStruct {var property1 = 1var...

Swift3.0在集合类数据结构上的一些新变化总结

一、Array数组的更改 array数组中修改的API示例如下://创建大量相同元素的数组 //创建有10个String类型元素的数组,并且每个元素都为字符串"Hello" //swift2.2 //var array3 = [String](count: 10, repeatedValue: "Hello") //swift3.0 var array3 = [String](repeating: "Hello", count: 10) //创建有10个Int类型元素的数组,且每个元素都为1 //swift2.2 //var array4 = Array(count: 10, repeatedValue: 1) //swift3.0 var arra...

Swift中的协议(protocol)学习教程

一、引言 协议约定了一些属性与方法,其作用类似Java中的抽象类,Swift中类型通过遵守协议来实现一些约定的属性和方法。Swift中的协议使用protocol关键字来声明。Swift中的协议还有一个十分有意思的特性,协议可以通过扩展来实现一些方法和附加功能。 二、在协议中定义属性和方法 协议中定义的属性只约定名称和类型,在具体类型的实现中,其可以是存储属性也可以是计算属性,协议中还需要指定属性是可读的还是可读可写的。示例代码...

Swift中利用单例管理FMDB数据库【代码】

passport.baidu.com/?business&un=%E6%B5%B7%E5%AE%81%5F%E7%BE%8E%E5%A5%B3%5F%E6%89%BE#0 passport.baidu.com/?business&un=%E4%BD%99%E5%A7%9A%5F%E5%B0%91%E5%A6%87%5F%E6%89%BE#0 passport.baidu.com/?business&un=%E4%BD%99%E5%A7%9A%5F%E5%B0%8F%E5%A6%B9%5F%E6%89%BE#0 passport.baidu.com/?business&un=%E4%BD%99%E5%A7%9A%5F%E6%A8%A1%E7%89%B9%5F%E6%89%BE#0 passport.baidu.com/?business&un=%E4%BD%99%E5%A7%9A%5F%E7...

swift中使用sqlite3

swift中使用sqlite3标签:本文系统来源:http://www.cnblogs.com/motoyang/p/4946882.html

Swift实现手势解锁&界面跳转&读取SQLite数据库【代码】【图】

下面是Storyboard的设计图 下面是实现的代码// // ViewController.swift // // // Created by XWJACK on 15/12/15. // Copyright © 2015年 XWJACK. All rights reserved. //import UIKitclass ViewController: UIViewController,SegueDelegate {override func viewDidLoad() {super.viewDidLoad()// Do any additional setup after loading the view, typically from a nib.//self.view = GestureUnLock(frame: CGRe...

FMDB在Swift中的基本使用

FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API?FMDB的优点 使用起来更加面向对象,省去了很多麻烦、繁杂的C语言代码 提供了多线程数据库的操作方法,有效的防止数据混乱 FMDB有三个主要的类 ?FMDatabase 一个FMDBDatabase对象就代表一个单独的SQLite数据库 用来执行SQL语句?FMResultSet 使用FMDatabase执行查询后的结果集?FMDatabaseQueue 用于在多线程中查询或者更新,它是线程安全的 使用在github上下载文...

[swift]技术分享-数据库开发基本使用

BY - LJW -------转载请注明出处-------? 数据库数据库(Database)是按照数据结构来组织、存储和管理数据的仓库 ? 嵌入式/移动客户端使用SQLite ? iOS中数据存储的方式: ?Plist(NSArray\NSDictionary):? 特点: 只能存储系统自带的数据类型, 比如NSDictory, NSArray等等. 自定义的对象无法存储?????plist文件存储一般都是存取字典和数组,直接写成plist文件,把它存到应用沙盒当中. ??? 只有在ios当中才有plist存储,它是ios特有的...

第十二篇、Swift----Sqlite的使用

class SQLiteManager: NSObject {private static let manager: SQLiteManager = SQLiteManager()/// 单粒class func shareManager() ->SQLiteManager {return manager}// 数据库对象private var db:COpaquePointer = nil// 创建一个串行队列private let dbQueue = dispatch_queue_create("com.520it.lnj", DISPATCH_QUEUE_SERIAL)func execQueueSQL(action: (manager: SQLiteManager)->()){// 1.开启一个子线程dispatch_async(dbQu...

swift:sqlite3的使用【代码】【图】

一、sqlite是纯C语言中底层的数据库,在OC和Swift中都是经常使用的数据库,在开发中,可以使用代码创建数据库,可以使用图形化界面创建数据库。例如SQLiteManager、SQLiteStudio等 二、我使用SQLiteStudio创建的数据库到桌面,然后导出到桌面,再拖到项目中,最后通过代码拷贝到Documens下进行操作,并获取数据库路径 Person.swift// Person.swift // swiftDemo // // Created by 夏远全 on 2017/2/20. // Copyright ? 2...

Swift1.2与Xcode6.3beta

Xcode6.3和Swift1.2都已经发布。这次发布增强了Swift编译器也给Swift增加了一些新的特性。详细内容可以看这里。这里主要关注比较重要的内容。 编译器的改进 Swift1.2的编译器更加的稳定,各方面性能都有所提升。这些改进让使用Swift开发体验更好。某些可见的 Xcode6.3和Swift1.2都已经发布。这次发布增强了Swift编译器也给Swift增加了一些新的特性。详细内容可以看这里。这里主要关注比较重要的内容。编译器的改进Swift1.2的编译器...

SwiftUI 精品项目之自动点击工具 (项目含源码)【代码】【图】

实战需求 SwiftUI 精品项目之自动点击工具 (项目含源码)轻量级程序,可模拟点击并旨在产生极快的点击。您可以调整点击之间的时间,每秒的点击次数以及更多。本文价值与收获 看完本文后,您将能够作出下面的界面看完本文您将掌握的技能更改热键以开始停止自动单击 禁用/启用点击声音 每秒更改点击次数基础知识 KeyboardShortcuts可让您在几分钟内将对用户可自定义的全局键盘快捷方式的支持添加到macOS应用。它完全兼容沙箱和Mac A...

SwiftUI iOS 精品进度条组件之支持百分比和成功动画 (教程含源码)【代码】【图】

实战需求 SwiftUI iOS 精品进度条组件之支持百分比和成功动画 本文价值与收获 看完本文后,您将能够作出下面的界面基础知识 progressview 显示任务完成进度的视图。 struct ProgressView<Label> where Label : View使用进度视图可以显示任务正在逐步完成。 进度视图可以显示确定的(完成百分比)和不确定的(正在进行或不正在进行)类型的进度。通过初始化一个ProgressView来创建确定的进度视图,该View绑定了一个表示进度的数字值...

SwiftUI CoreData 教程之 04 如何创建三层级relationship(教程含源码)【代码】【图】

实战需求 SwiftUI CoreData 教程之 04 如何创建三层级relationship 本文价值与收获 看完本文后,您将能够作出下面的界面看完本文您将掌握的技能one to many relationship 给one to many添加新内容private func addItem() {// withAnimation {let truckItem = Truck(context: viewContext)truckItem.id = UUID()truckItem.name = "truck_\(Date())"let newItem = Trailer(context: viewContext)newItem.id = UUID()newItem.name = "...

SwiftUI 内功之 如何改造所有视图为lazy (教程含源码)【代码】【图】

实战需求 SwiftUI 内功之 如何改造所有视图为lazy目标视图不懒惰会影响具有视图列表的应用程序的性能。当列表中有数百行时,每行都有一个获取远程数据的目标视图,那么应用程序的性能肯定会受到影响。本文价值与收获 看完本文后,您将能够作出下面的界面看完本文您将掌握的技能@autoclosure 该@autoclosure属性可被应用于一个闭合参数为函数,并自动创建从在通过表达式的封闭件。当调用一个使用该属性的函数,你写的代码是不封闭的...

macOS SwiftUI 基础之如何设置App登录即可启动(教程含源码)【代码】

macOS SwiftUI 基础之如何设置App登录即可启动(教程含源码)请注意,Mac 应用商店准则要求"在登录时启动"功能才能针对用户操作启用。这通常是通过使其成为默认禁用的首选项来解决的。许多应用程序还允许用户在欢迎屏幕上激活它。使用方法 此包附带了一个启动AtLogin.Toggle,它就像内置的切换,但具有预先定义的绑定和标签。单击视图可切换应用的"登录启动"。 struct ContentView: View {var body: some View {LaunchAtLogin.Toggle...

SwiftUI 精品组件之个性化动画TabBarView 切换组件(教程含源码)【代码】【图】

实战需求 SwiftUI 精品组件之个性化动画TabBarView 切换组件(教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面看完本文您将掌握的技能ZStack(alignment: .bottom) 设置组件底部对其 Identifiable 设置可识别var id = UUID()struct中静态初始化static let tabs = [TabBarItem(image: "house", title: "Home"),TabBarItem(image: "square.grid.2x2", title: "Categories"),TabBarItem(image: "suit.heart", title: ...

SwiftUI Scrollview 如何随意滚动到某个位置 顶部底部任意位置(教程含源码)【代码】【图】

实战需求 SwiftUI Scrollview 如何随意滚动到某个位置顶部 中间 底部 任意位置 自定义背景颜色本文价值与收获 看完本文后,您将能够作出下面的界面参考资料 相关资料:参考资料看完本文您将掌握的技能GeometryReader Button ForEach .background(Color.blue.opacity(0.25)) .edgesIgnoringSafeArea(.all) UIViewControllerRepresentable基础知识 GeometryReader 一个容器视图,根据其自身大小和坐标空间定义其内容。 @frozen struc...

SwiftUI iOS 超酷组件之支持文本分割炸裂徽标效果 正则 ViewModifier(教程含源码)【代码】【图】

实战需求 SwiftUI iOS 超酷组件之支持文本分割炸裂徽标效果(教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面看完本文您将掌握的技能 若要分隔文本,组件需要两个重要的信息。一个是要爆炸的文本,另一个是定界符,用于定义应应用哪个规则进行爆炸。提供了五种不同的定界符:.all .character("Hello World!", delimiter: .character).word (default if no specific delimiter is provided)("Hello World!").sente...

SwiftUI iOS 封装之SearchBar全功能封装实现多功能搜索功能(教程含源码)【代码】【图】

实战需求 SwiftUI iOS 封装之SearchBar全功能封装实现多功能搜索功能 本文价值与收获 看完本文后,您将能够作出下面的界面看完本文您将掌握的技能在描述其内容的视图中添加标签 .accessibility(label: Text(“Go to Search Page”)) 环境变量 @Environment(.presentationMode) var presentationMode: Binding 返回一个Boolean值,指示字符串是否包含给定的字符串,同时考虑当前区域。 if self.people.contains { $0.localizedStand...

SwiftUI iOS 开源项目之购物类App界面(教程含源码)【代码】【图】

实战需求 SwiftUI iOS 开源项目之购物类App界面基于SwiftUI设计了一个家具店应用程序的两个屏幕。顶部的主页包含菜单和配置文件按钮。然后在末尾的水平列表中搜索和筛选具有两个类别的产品,一个受欢迎,另一个则最好。另外,还有一个类别列表。在我们家具店的“详细信息”页面上,有该产品的完整信息,也添加到了底部的购物车中。本文价值与收获 看完本文后,您将能够作出下面的界面看完本文您将掌握的技能管理一组TextField 使用...

SwiftUI iOS 精品工具条组件之 13 多行文本支持换行滚动工具条(教程含源码)【代码】【图】

实战需求 SwiftUI iOS 精品工具条组件之 13 多行文本支持换行滚动工具条(教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面看完本文您将掌握的技能点击实现切换 支持左右滚动 点击某个位置实现自动切换实战代码 1、主界面 import SwiftUI import JXSegmentedViewstruct ContentView: View {@State var selectIndex = -1//@State var titles = ["关注", "推荐", "热榜","抗疫","要闻","新时代","视频","热点"]@State...

SwiftUI iOS 仿Clubhouse App界面(教程含源码)【代码】【图】

实战需求 SwiftUI iOS 仿Clubhouse App界面 本文价值与收获 看完本文后,您将能够作出下面的界面看完本文您将掌握的技能基于ZStack进行布局 .offset(y: 20)实现组件码放 设置视图大小和颜色.frame(width: UIScreen.main.bounds.width, height: 100).background(Color(UIColor.systemBackground)) clubhouse 基础配色"color" : {"color-space" : "display-p3","components" : {"alpha" : "1.000","blue" : "0.925","green" : "0.968...

SwiftUI iOS 组件之HTML页面解析组件(教程含源码)【代码】【图】

实战需求 SwiftUI iOS 组件之HTML页面解析组件 本文价值与收获 看完本文后,您将能够作出下面的界面看完本文您将掌握的技能SwiftSoup 是一个纯跨平台的Swift库(macOS,iOS,tvOS,watchOS和Linux!),用于处理实际的HTML。它使用DOM,CSS和类似jQuery的最佳方法,为提取和操作数据提供了非常方便的API。 SwiftSoup实现WHATWG HTML5规范,并将HTML解析为与现代浏览器相同的DOM。 解析并实现style if element.tagName() == "strong...

SwiftUI iOS 完整项目之股票类App支持搜索查询存储功能(教程含源码)【代码】【图】

实战需求 SwiftUI iOS 完整项目之股票类App支持搜索查询存储功能 本文价值与收获 看完本文后,您将能够作出下面的界面看完本文您将掌握的技能完整搜索界面 基于Cloudkit观察存储界面 设置Settings核心知识导入json初始化数据import Foundation// With this function I parse the local JSON file to read it and create a list with its items. let companiesData: [CompanyModel] = load("companies.json")func load<T: Decodable...

macOS SwiftUI 封装组件之 可设置高度搜索框NSSearchField(教程含源码)【图】

实战需求 macOS SwiftUI 封装组件之 可设置高度搜索框NSSearchField 本文价值与收获 看完本文后,您将能够作出下面的界面看完本文您将掌握的技能实现标准搜索框 实现自定义高度基础知识 搜索框Search Fields 搜索字段是一种文本字段样式,已针对在大量值中执行基于文本的搜索进行了优化。许多窗口在工具栏中都包含搜索字段,但是搜索字段也可以显示在窗口的主体区域中。搜索字段显示放大镜图标,并且还可以包含占位符文本和取消按钮...

SwiftUI 图表教程之 05 根据视图大小自动布局界面GeometryReader(教程含源码)【代码】【图】

实战需求 SwiftUI 图表教程之 05 根据视图大小自动布局界面GeometryReader 本文价值与收获 看完本文后,您将能够作出下面的界面看完本文您将掌握的技能读取容器大小GeometryReader 绘制原点 绘制路径Path { path in基础知识 GeometryReader 一个容器视图,根据其自身大小和坐标空间定义其内容。 @frozen struct GeometryReader<Content> where Content : View总览 此视图将灵活的首选大小返回到其父布局。实战代码 import SwiftUIs...

macOS SwiftUI 封装组件之图片组件NSImageView(教程含源码)【代码】【图】

实战需求 macOS SwiftUI 封装组件之图片组件NSImageView 本文价值与收获 看完本文后,您将能够作出下面的界面基础知识 NSImageView NSImage在帧中显示来自对象的图像数据。 class NSImageView : NSControl总览 图像视图可以是静态的,也可以是可编辑的。静态图像视图仅显示您指定的图像。可编辑的图像视图对象使用户可以更改显示的图像。您还可以配置图像视图以允许复制,粘贴,删除和拖动图像。注意 仅当用户将图像拖动到图像视图...

SwiftUI日期之如何计算N天后具体日期(教程含源码)【代码】【图】

需求:我想计算一下某个日期N天后的具体日期看完本文后,您将能够作出下面的界面看完本文您将掌握的技能日期计算方法 掌握TextField个性化设置推荐文章《SwiftUI日期专栏》 《SwiftUI实战之日期日历年月日星期天干地支十二时辰时分秒》 《SwiftUI实战之如何显示中文日期选择器datepicker》代码 1、中文公历标准日期 import SwiftUI//中文公历标准 //2020年04月09日 20:05:15 func getCNDateYMD()-> String {let dformatter = DateF...