在上一篇只是简单实现了九宫图效果,本章需要形成APP界面九宫图效果 override func viewDidLoad() { super.viewDidLoad() createnine() } //九宫图算法 func createnine(){ //高 let kAppViewH:CGFloat=80 //宽 let kAppViewW:CGFloat=80 //行个数 let kColCount:Int=3 //间隔 let kStart:Int=20 let MarginX:CGFlo…
网络上很多例子都是早期的 Object-C的效果,现在用到Swift3.0开发,故把网络上的例子翻译过来,达到基本的效果.可是现在这个还不算很满意,再下次继续进行优化 override func viewDidLoad() { super.viewDidLoad() createnine() } func createnine(){ //高度 let kAppViewH:CGFloat=80 //宽度 let kAppViewW:CGFloat=80 let kColCount:Int=3 //…
效果图 适配用的 SnapKit 使用介绍:  http://www.hangge.com/blog/cache/detail_1097.html private func creationTextView(){ let viewBg = UIView() self.view.addSubview(viewBg) viewBg.frame = CGRect(x:, y:, width:SCREEN_WITH - , height:) viewBg.backgroundColor = UIColo…
这是公司上上上一个项目的自定义相机界面,原来是swift2.0写的,今天改为swift3.0,记录一下. 效果图如下:                                                                                                     使用AVFoundation制作. 属性: var device:AVCaptureDevice! //获取设备:如摄像头 var input:AVCaptureDeviceInp…
      python代码创建拓扑: from mininet.net importMininet net =Mininet() # Creating nodes in the network. c0 = net.addController() //创建一个控制器 h0 = net.addHost('h0') //创建一台主机 s0 = net.addSwitch('s0') //创建一台交换机 h1 = net.addHost('h1') # Creating links between n…
Swift3.0语言教程使用编码创建和初始化字符串 使用编码创建和初始化字符串 创建和初始化字符串除了可以使用上文中提到的方法外,还可以使用init(coder:)方法,此方法一般不常使用,其语法形式如下: init?(coder aDecoder: NSCoder) 其中,aDecoder:用来指定一个编码.…
Swift3.0语言教程使用指针创建和初始化字符串 Swift3.0语言教程使用指针创建和初始化字符串苹果的Swift团队花了不少功夫来支持C的一些基础特性.C语言中为我们提供了指针,Swift也不例外,开发者可以使用指针去创建和初始化字符串. (1)在NSString中init(bytes:length:encoding:)方法可以从给定字符串按照指定获取方向,得到指定个数的字符,然后使用这些字符创建和初始化字符串.其语法形式如下: convenience init?(bytes: Unsaf…
Swift3.0语言教程使用占位符格式创建和初始化字符串 Swift3.0语言教程使用占位符格式创建和初始化字符串在很多的编程语言中都存在占位符,占位符就是为指定的内容占留一个位置.此功能一般在开发者不知道在此位置处写什么时使用.在NSString中也为开发者提供了占位符,开发者可以使用占位符格式创建和初始化字符串,此时需要使用到init(format:_:).init(format:locale:_:)或者是localizedStringWithFormat(_:_:)方法. (1)init(…
Swift3.0语言教程使用字符串创建和初始化字符串 Swift3.0语言教程使用字符串创建和初始化字符串,在编程语言中,字面值是很常见的数据描述形式.人们可以通过字面所表达的意思,获知其含义,尤其是字符串字面值.开发者可以使用字符串字面值对字符串创建和初始化,此时需要使用到NSString中的init(stringLiteral:)方法,其语法形式如下: required convenience init(stringLiteral value: StaticString) 其中,value用…
Hyperledger Fabric(v1.2.0)代码分析1--channel创建 0. e2e_cli Hyperledger Fabric提供了一个e2e的例子,该例中创建了一个基础的区块链网络,并进行了交易并查询.麻雀虽小,五脏俱全,我们可以根据e2e的例子来对Fabric区块链网络有一个基本的认识,包括网络创建流程.智能合约(chaincode)实现等.作为底层技术开发者,可以根据e2e的例子来追踪整个代码流程,从而对fabric源码结构有一个清晰的认识. ele示例的区块链网络由以下…
            Delphi代码创建形式规范 1.0 本规范的目的:给自己的代码一个统一而标准的外观,增强 可读性,可理解性,可维护性 本规范的原则:名称反映含义,形式反映结构 1.单元风格 2.各区风格 3.语句风格 4.命名规则 参考:Borland官方Object Pascal风格指南 Delphi5程序员指南编码标准 1.单元风格 {*******************************************************} { } { 项目名称 } { }…
Swift3.0语法变化 首先和大家分享一下学习新语法的技巧: 用Xcode8打开自己的Swift2.3的项目,选择Edit->Convert->To Current Swift Syntax- 让Xcode帮我们把Swift2.3的代码转换为Swift3.0. 手动调出Xcode自动转换Swift2.3 到 Swift3.0 弹出语言版本选择界面,选择Covert to Swift3,Next:  进入选择模块界面: 选择模块界面 建议只选择自己创建的模块,第三方框架的模块最好不要使用Xco…
写在前面 收到一些小伙伴的来信,觉得可能下边没有表达清楚,先把大家关心的要点在此进行总结,有兴趣的可以看看下边的研究过程,没兴趣的直接看这段即可. Xcode8支持Swift2.3和Swift3.0两种语编译,但是在整个工程中只能使用一种语法. 如果想用Swift2.3版本开发,当弹出是否迁移到Swift3.0的对话框一律选择Later.所有的target(包括自己创建的和Cocoapods自动生成的)的Use Legacy Swift Language Version选择Yes. 如果想用Sw…
写在前面 首先和大家分享一下学习新语法的技巧:用Xcode8打开自己的Swift2.3的项目,选择Edit->Convert->To Current Swift Syntax- 让Xcode帮我们把Swift2.3的代码转换为Swift3.0. 手动调出Xcode自动转换Swift2.3 到 Swift3.0 弹出语言版本选择界面,选择Covert to Swift3,Next: AAB5FC3D-3EF2-43D5-9328-C00E33B3109D.png 进入选择模块界面: 选择模块界面…
本篇博客中的代码实现依然采用Swift3.0来实现.在前几篇博客连续的介绍了关于查找的相关内容, 大约包括线性数据结构的顺序查找.折半查找.插值查找.Fibonacci查找,还包括数结构的二叉排序树以及平衡二叉树的构建与查找,然后还聊了哈希表的构建与查找.接下来的几篇博客中我们就集中的聊一下常见的集中排序方式,并并给出相应的时间复杂度.本篇博客我们将会详细的介绍冒泡排序.插入排序.希尔排序以及选择排序,下篇博客将继续介绍堆排序.归并排序以及快速排序的相关内容.当然上述内容的代码实现我们依然采用S…
开发环境:macOS 10.12 + Android Studio 2.2,MinSDK Android 5.1 先看看总体效果 本示例是基于Fragment进行的,直接上代码: [界面结构] 在 Fragment 中,采用 ScrollView + LinearLayout 实现. <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://sch…
Swift 3.0 做出的改变很大,在这篇文章中,我将尽我所能,利用代码样例给大家解释Swift 3.0最重要(要命)的改变,希望大家能够做好升级Swift 3.0 的准备.Swift 3.0的改变不仅仅是我下面的这个列表,但是列表中的每一项都是对你的一个巨大的打击. 虽然Swift 3.0 仍处于开发阶段.Swift 3.0 会有很多很多的变化,其中一些可能会在细微之处.然而,我们希望这些变化是一次性的.为了使Swift可以在未来几年更好的发展,在以后的版本更新中改变应该的显著变小.一些Swi…
Swift 3.0 做出的改变很大,在这篇文章中,我将尽我所能,利用代码样例给大家解释Swift 3.0最重要(要命)的改变,希望大家能够做好升级Swift 3.0 的准备.Swift 3.0的改变不仅仅是我下面的这个列表,但是列表中的每一项都是对你的一个巨大的打击. 虽然Swift 3.0 仍处于开发阶段.Swift 3.0 会有很多很多的变化,其中一些可能会在细微之处.然而,我们希望这些变化是一次性的.为了使Swift可以在未来几年更好的发展,在以后的版本更新中改变应该的显著变小.一些Swi…
从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行.在WWDC16上Apple公布了Swift3.0,从中可以看出Apple对Swift的重视,以及Swift开源半年以来的进步.尽管对于开发人员来说Swift3.0的变化会令你的程序几乎处处报错,但是试想一下如果Apple没有追求极致的精神又怎么会做出如此多的更改.今天的文章将重点介绍:What's ne…
处理日期的常见情景 NSDate -> String & String -> NSDate 日期比较 日期计算(基于参考日期 +/- 一定时间) 计算日期间的差异 拆解NSDate对象(分解成year/month/day/hour/minute/second 等) NSDate相关类 NSDate DateFormatter DateComponents DateComponentFormatter Calendar Date structure: Swift3.0中引入了Date s…
一直对swift感兴趣,在前段时间的新闻中,大多是swift3.0发布和xcode8.0的改进,因为改动比较大,以前使用swift2.x做项目的人,都在担心其项目从2.x迁移到3.0+的问题.以前简单的接触过一段时间的swift,现在打算重新进行学习,作为笔记. 安装xcode 下载完成后双击打开软件后,会出现xcode工具,将xcode拖入Applications文件夹中. Hello Swift 打开软件后,首先新建一个swift项目,其中 get started with a playgr…
昨晚上一波手贱把我的小5s升到iOS10.如此配套的话,Xcode7.3升级Xcode8.1看来也是势在必行了.公司程序是Swift2.3的,出于对苹果的恐惧迟迟不敢升级.但丑媳妇儿总要见公婆,借这个机会,也趁双休时间,做一下适配好了. 首先,强调一点.做好备份!做好备份!做好备份!重要的事情说三遍. 1.关于使用的Swift代码库的问题 这是我最心力交瘁的一个问题. 项目中使用了Swift的几个开源框架,SwiftHTTP.SwiftyJSON.KingFisher等等.我的项目并没有使用Co…
前边以及陆陆续续的介绍了使用Swift3.0开发的服务端应用程序的Perfect框架.本篇博客就做一个阶段性的总结,做一个完整的实例,其实这个实例在<Swift3.0服务端开发(一)>这篇博客中已经简单的介绍过了,本篇博客就来详细的聊一下这个工程的具体实现细节.当然包括iOS端和服务端的代码.本篇博客的介绍顺序按照功能模块来划分的,如登录注册模块.记事本列表,记事本的增删改查等功能.在每个功能模块,我们先给出服务端代码的实现,然后给出客户端代码的实现. 本篇博客的前几部分主要介绍整个工程的公用…
今天博客中,我们就来实现一下一些常用资讯类App中常用的分类选择的控件的封装.本篇博客中没有使用到什么新的技术点,如果非得说用到了什么新的技术点的话,那么勉强的说,用到了一些iOS9以后UICollectionView添加的一些新的特性.本篇博客所涉及的技术点主要有UICollectionView的Cell移动,手势识别,控件封装,闭包回调,面向接口编程,Swift中的泛型等等.这些技术点在之前的博客中也多次使用到,只不过本篇博客使用这些技术点来完成我们的具体需求. 一.实例运行效果 先入为主,…
1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main" android:layout_width="mat…
本项目采用swift3.0所写,适配iOS9.0+,所有界面均采用代码布局. 第一个tab写的是简单直播,传统MVC模式,第二个tab写的是简单网络音乐播放器.传说MVVM模式(至于血统是否纯正我就不得而知了,按照网上的教程来的) 采用的第三方 pod 'SDWebImage', ' ~> 3.8.2 ' pod 'Alamofire', ' ~> 4.2.0 ' pod 'SnapKit', ' ~> 3.1.2 ' pod 'FreeStreamer', ' ~> 3.7.2…
...绕了一大圈,又绕回原生来了,今天,学习一下swift3.0语法下的自定义键盘.效果图如下: 其实,很简单,只需要把UITextView(或者UITextField)的inputView属性设置为自定义的视图即可. 这里,我举一个栗子,添加一个自定义的emoji键盘. 思路:a.先来一个UIViewController,用来承载一个ToolBar(只是为了放几个按钮,切换系统键盘和自定义键盘) b.在该UIViewController上面放一个UITextView即可.更改inputView…
一.介绍 CoreData不像slqite3那样编写代码繁琐,同时避免了使用了SQL语句的麻烦,也可以回避使用C语言的语法,降低了iOS开发的技术门槛. CoreData可降低开发成本,提高代码质量.它是一个完全面向对象的API,能够合理管理内存,负责在数据库中存储数据,底层也是由类似 于SQL的技术实现的.CoreData是持久化存储的最佳方式,数据最终的存储类型可以是SQLite数据库.XML.二进制.内存或自定义数据类型 它和SQLite的区别是:只能取出整个实体记录,然后分离,之后才能得…
介绍 一.sqlite是纯C语言中底层的数据库,在OC和Swift中都是经常使用的数据库,在开发中,可以使用代码创建数据库,可以使用图形化界面创建数据库.例如SQLiteManager.SQLiteStudio等 二.对常用的一些方法进行解释如下: OpaquePointer: *db,数据库句柄,跟文件句柄FIFL类似,这里是sqlite3指针: sqlite3_stmt: *stmt,相当于ODBC的Command对象,用于保存编译好的SQL语句: sqlite3_open(): 打开数据库…
二维码生成 //MARK: 传进去字符串,生成二维码图片(>=iOS7) text:要生成的二维码内容 WH:二维码高宽 private func creatQRCodeImage(text: String,WH:CGFloat) -> UIImage{ //创建滤镜 let filter = CIFilter(name: "CIQRCodeGenerator") //还原滤镜的默认属性 filter?.setDefaults() //设置需要生成二维码的数据 filter…