- 排序算法(一) —— 堆排序之一个简单示例(一)
刀客传奇
版本记录版本号时间V1.02018.08.22前言排序算法是最常见的算法,其中包括了冒泡、选择等很多不同的排序算法,接下来几篇就会介绍相应的排序算法,其实前面几篇已经有所涉及了,以后有些东西我会慢慢移动和增加到这个专题里面。开始首先看一下本文写作环境。写作环境:Swift4,iOS11,Xcode9Heapsort是另一种基于比较的算法,它使用堆按升序对数组进行排序。根据定义,Heapsort利用
- swift4 - 给代码添加注释
Deng_1957C
快捷键commond+///单行注释放在上方letMAXNUMBER=999letMAXNUMBER=888//单行注释放在后方//多行注释/*letx=5lety=6*/
- Swift4 NSRange和Range相互转换
印象iOS
Swift中String的一些接口使用Range,不像OC一样使用NSRange,所以使用中就需要把NSRange转换为Range。extensionString{functoNSRange(_range:Range)->NSRange{guardletfrom=range.lowerBound.samePosition(in:utf16),letto=range.upperBound.sameP
- Swift - 学习
寻梦ing
1.类和结构体的区别Swift中结构体和类的比较2.写时拷贝机制SwiftCopy-On-Write写时复制Swift写时复制(copy-on-write)3.模式匹配Swift模式匹配总结4.协议Swift学习:协议5.泛型Swift4泛型:如何在你的代码或App里应用泛型6.运算符、下标、字面协议、尾随闭包7.Optional、变量常量、类型检查、扩展8.函数式编程9.响应式编程10.单向数据
- Swift4 tableView如何优雅的注册cell,获取循环利用的cell
船长_
注册cell示例tableView.ts_registerCellNib(HomeCell.self)获取循环利用的cell示例letcell=tableView.ts_dequeueReusableCell(HomeCell.self)publicextensionUITableView{//MARK:-Cellregisterandreuse/**Registercellnib-paramet
- Swift一些小特性
奚山遇白
1.元组太多了。。。不贴了,请自行查阅swift4,emmm很随意的一种类型。。。。2.可选类型值可能不存在的情况下,你可以使用可选类型。一个可选类型代表两种可能性:要么它有值(你可以通过解包来访问该值),或者没有值。Note:在C或Objective-C中不存在可选类型的概念。在OC中和可选类型这个概念最类似的是:一个对象要么返回确定的值要么返回nil,其中nil表示“对象不存在”。然而这种方法
- swift4 字符串截取
誓言_acaa
extensionString{funcmySubString(toindex:Int)->String{returnString(self[..String{returnString(self[self.index(self.startIndex,offsetBy:index)...])}funcmySubString(startindex:Int,endindex1:Int)->String{
- swift3升级到swift4 填坑
墨守青城
@objcswift3使用#selector指定的方法,只有当方法权限为private时需要加@objc修饰符,现在Swift4.0全都要加@objc修饰符自定义的protocol协议中,有optional修饰的非必须实现的方法,需要用@objc修饰oc调用swift类中方法和属性时,swift类中的属性和方法也要加上@objc修饰NSAttributedString相关的全局变量无法再swift
- Swift - 类扩展(extension)
小驴拉磨
(本文代码已升级至Swift5)Swift语言的类扩展是一个强大的工具,我们可以通过类扩展完成如下事情:1、给已有的类添加计算属性和计算静态属性2、定义新的实例方法和类方法3、提供新的构造器4、定义下标脚本5、是一个已有的类型符合某个协议注意:扩展只能添加新的计算型属性,不能添加存储型属性,也不能添加新的属性监视器。在Swift4中,extension里可以访问private的属性。(过去Swif
- Swift中导航栏的添加与一些属性
SarielAngel
学习笔记iOSswiftXcodeStoryboard
本文为个人学习笔记(2017.10.14)因为Xcode和Swift更新太快,网上找到的内容经常存在过期的问题,所以只好自己边百度边摸索边记录了。目前配置为:系统:macOSSierraIDE:Xcode9.0(9A235)语言:Swift4为View添加导航栏在Storyboard中选中View画面修改导航栏属性在导航栏所在的ViewController中viewDidLoad()方法里//去掉
- Swift 4 解析/生成 JSON
山哥Samuel
Apple终于在Swift4的Foundation的模块中添加了对JSON解析的原生支持。虽然已经有很多第三方类库实现了JSON解析,但是能够看到这样一个功能强大、易于使用的官方实现还是不免有些兴奋。值得注意的是,官方的实现方式适用于任何Encoder/Decoder,例如PropertyListEncoder。当然如果你需要XML格式的内容,可以进行自定义实现。在接下来的内容中,我们将专注于JS
- swift4 图片拉伸
angle_杰
这里以聊天界面气泡图为例设计给的气泡原图大小是这样的,chatPopGreenImg.png我们真正用到的是跟微信一样的,根据消息的长短自适应气泡的宽度和高度,如下图63020A46-9731-4C9B-9844-85C72C6E3683.png其实,这个并不难,网上也有很多例子,但是,自己弄的时候,还是因为粗心调入了一个坑,一:详细讲下实现的过程实现图片的拉伸不需要其他额外的第三方,也不用对图片
- swift不同版本之间的差异
小小小蚍蜉
>>>Swift3中,因为extension中无法获取到secondsSinceReferenceDate属性,编译就报错了,因为它是private的。于是在Swift3中,必须把private改为fileprivate。在Swift4中,private的属性的作用域扩大到了extension中,并且被限定在了struct和extension内部,这样就不需要再改成fileprivate了。>>>
- ESJsonFormat 更新 Xcode10的兼容 以及 swift4兼容
piupiu啊piupiu
ESJsonFormatformac一个很好用的应用,自动根据json数据导出对应的数据模型文件支持Swift、OC、YYModel、MJExtension但原作者很久没有进行维护了,在Xcode10上有泛型不支持、swift文件格式不正确等问题,本人闲暇之余试着维护了一下本人维护地址github地址,安装文件在ESJsonFormatForMac->Application->ESJson_DMG
- Swift:在标签或textView或者UILabel中显示HTML数据
ShineYangGod
对于Swift4:extensionString{varhtmlToAttributedString:NSAttributedString?{guardletdata=data(using:.utf8)else{returnNSAttributedString()}do{returntryNSAttributedString(data:data,options:[.documentType:NSA
- Swift学习之Codable
冷武橘
一、CodabletypealiasCodable=Decodable&EncodableCodable是一个同时符合Decodable和Encodable协议的类型,即可解码且可编码的类型。Codable是Swift4引入的全新编码库,使用JSONDecoder可以实现字典转模型,使用JSONEncoder可以实现模型转字典。structGood:Codable{varname:Stringva
- Swift4:GCD的使用
天子望气
测试环境:Xcode9,Swift4一.创建一个DispatchQueue,并为你的队列提供一个label。建议使用反向DNS符号("com.cn.xxx")letqueue=DispatchQueue(label:"com.cn.zcy.queue")二.串行队列创建一个串行队列并在viewDidLoad中执行1.同步执行funcexecQueues(){letqueue=DispatchQue
- 使用UIImagePickerController从相册选择照片
黑山老水
Swift4在info.plist添加NSPhotoLibraryUsageDescriptionThisapprequiresaccesstothephotolibrary.ViewController需要implementUIImagePickerControllerDelegate,UINavigationControllerDelegate这两个delegate申明需要的IBOutlet组
- swift4 闭包
sttech
swift闭包闭包:swift中函数是闭包的一种类似于oc的闭包闭包表达式(匿名函数)--能够捕获上下文中的值一般形式:{(parameters)->returnTypeinstatements}letsay:(String)->Void={(name:String)->Voidinprint("\(name)"+"hahahh")}调用say("hello")对于自动闭包是一种自动创建的闭包,封
- Swift 4 JSON 原生解析
Lucky闪闪星
Swift4的更新中其中有一项就是在Foundation模块中添加了对JSON解析的原生支持.下面我们来看一看是如何使用的~虽然已经有很多第三方类库实现了JSON解析,但是还是官方的用起来心里舒服~。基础如果你的JSON数据结构和你使用的Model对象结构一致的话,那么解析过程将会非常简单。下面是一个JSON格式的PersonInfo(什么例子都用Person哈哈):{"name":"Twinkl
- Swift4中使用GCD----分组和信号量
青山不改
DispatchWorkItem:DispatchWorkItem是一个任务的封装对象,可以复用,类比Operation,它有一些自己的想法,定义如下:publicinit(qos:DispatchQoS=default,flags:DispatchWorkItemFlags=default,block:@escaping@convention(block)()->Void)publicfuncp
- 如何优雅的使用Swift Codable协议
iOS开发之家
在Swift开发中,JSON数据序列化是一个避不开的工作,Swift由于类型安全的特性,对于像JSON这类弱类型的数据处理一直是一个比较头疼的问题,Swift4带来的新特性中,Codable协议让人眼前一亮。但是,Codable也不能完全满足我们的要求,比如不支持类型的自动转换、对默认值支持不友好。so,我们如果把这些问题解决了,是不是就完美啦Codable坑点1:不支持类型转换//JSON:{"
- Swift4里的Operation和OperationQueue
青山不改
Operation和OperationQueue可以在不关心线程的情况下完成多线程编程,只需要添加任务和创建队列,线程调度由系统来完成。我们来看看Operation的头文件:@available(iOS2.0,*)openclassOperation:NSObject{openfuncstart()openfuncmain()openvarisCancelled:Bool{get}openfunc
- 在swift 5.0中用系统方法setValuesForKeys()赋值问题
xuzehong
网络请求数据后,解析json数据,得到模型对象使用Swift5.0,通过setValuesForKeys保存字典数据,无法赋值代码如下:image.png无法赋值给到创建的属性image.png原因:在swift3中,编译器自动推断@objc,换句话说,它自动添加@objc在swift4中,编译器不再自动推断,你必须显式添加@objc详细说明:1)在Swift4中隐式@objc自动推断只会发生在下
- 譯文: Adaptive Layout Tutorial in iOS 11: Getting Started
AntonyWong
翻譯自raywenderlich上的一篇教程:AdaptiveLayoutTutorialiniOS11:GettingStarted。水平有限,如有謬誤,還請斧正。以下為譯文:Update6/20/17:本教程由JózsefVesza更新至iOS11,Xcode9,Swift4。原始教程由SamDavies撰寫。對iOSApp設計師來說,AdaptiveLayout的引入,導致「套路」變化甚多。
- iOS_手机信息收集
Devin_
软件:Xcode9.1语言:Swift4真机调试系统:iOS10.3目录|_1.app版本号|_2.系统名称|_3.当前系统版本号|_4.设备的唯一标识|_5.model|_6.设备型号|_7.手机磁盘空间(手机总空间,手机剩余空间)|_8.系统时间|_8.1系统运行时间|_8.2系统启动时间|_9.电池|_9.1当前电池电量|_9.2电池当前的状态|_10.运营商|_11.内存|_11.1手机物
- swift学习笔记(一)基本数据类型、字符串、集合、运算符、函数、block
d14888bcdd2b
即将入职新公司,换工作的间歇期有时间看一看知识点,新项目里swift和oc混编,所以趁着机会看了下swift语法,由于UIKitoc和swift一样,所以只进行swift语法的学习,翻了一遍《swift4从零到精通iOS开发》,第一遍阅读用笔标出了语法不同点,然后边写代码实验边做笔记的形式记录。一、基本数据类型1.元组//元组允许一些不相关的类型进行自由组合,成为新的集合类型,适用于简单数据结构,
- 【Swift】String与Sbustring区别与联系
allanGold
swiftStringSubstring
String还是字符串,始终如一。Substring是string的切片。它们与basestring共享内存buffer,并拥有一对范围索引。StringProtocol抽取出字符串的特征以及如何访问其功能,放进一个协议中。String及Substring都遵循StringProtocol。字符串在不同的Swift版本中变化比较大。在Swift4中,当需要从一个字符串中获取子串时,我们获取到的是S
- 442,Swift Codable使用及说明(面试点:public typealias Codable = Decodable & Encodable,可以用JSONDecoder解码和JSON...
枫叶1234
前言本篇是Swift4中Codable的使用系列第一篇,通过本篇文章我们来了解Codable的基本用法。自Swift4发布以来已有一段时间了,各种新特性为我们提供更加高效的开发效率,其中在Swift4中使用Codable协议进行模型与json数据之间的映射提供更加便利的方式。在Swift3中,对于从服务器获取到的json数据后,我们要进行一系列繁琐的操作才能将数据完整的转化成模型,举个,我们从服务
- Version Compatibility 兼容性
zheNgHH
https://docs.swift.org/swift-book/GuidedTour/Compatibility.html这块讲的swift5.1,xcode11包含的swift的默认版本。可以使用xcode11创建使用swift5.1、4.2或者4编写的对象。当你使用xcode11创建swift4、4.2代码时,swift5.1的大部分功能都可以使用。以下改变只可以在swift5.1或者更往
- 二分查找排序算法
周凡杨
java二分查找排序算法折半
一:概念 二分查找又称
折半查找(
折半搜索/
二分搜索),优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而 查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表 分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步
- java中的BigDecimal
bijian1013
javaBigDecimal
在项目开发过程中出现精度丢失问题,查资料用BigDecimal解决,并发现如下这篇BigDecimal的解决问题的思路和方法很值得学习,特转载。
原文地址:http://blog.csdn.net/ugg/article/de
- Shell echo命令详解
daizj
echoshell
Shell echo命令
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:
echo string
您可以使用echo实现更复杂的输出格式控制。 1.显示普通字符串:
echo "It is a test"
这里的双引号完全可以省略,以下命令与上面实例效果一致:
echo Itis a test 2.显示转义
- Oracle DBA 简单操作
周凡杨
oracle dba sql
--执行次数多的SQL
select sql_text,executions from (
select sql_text,executions from v$sqlarea order by executions desc
) where rownum<81;
&nb
- 画图重绘
朱辉辉33
游戏
我第一次接触重绘是编写五子棋小游戏的时候,因为游戏里的棋盘是用线绘制的,而这些东西并不在系统自带的重绘里,所以在移动窗体时,棋盘并不会重绘出来。所以我们要重写系统的重绘方法。
在重写系统重绘方法时,我们要注意一定要调用父类的重绘方法,即加上super.paint(g),因为如果不调用父类的重绘方式,重写后会把父类的重绘覆盖掉,而父类的重绘方法是绘制画布,这样就导致我们
- 线程之初体验
西蜀石兰
线程
一直觉得多线程是学Java的一个分水岭,懂多线程才算入门。
之前看《编程思想》的多线程章节,看的云里雾里,知道线程类有哪几个方法,却依旧不知道线程到底是什么?书上都写线程是进程的模块,共享线程的资源,可是这跟多线程编程有毛线的关系,呜呜。。。
线程其实也是用户自定义的任务,不要过多的强调线程的属性,而忽略了线程最基本的属性。
你可以在线程类的run()方法中定义自己的任务,就跟正常的Ja
- linux集群互相免登陆配置
林鹤霄
linux
配置ssh免登陆
1、生成秘钥和公钥 ssh-keygen -t rsa
2、提示让你输入,什么都不输,三次回车之后会在~下面的.ssh文件夹中多出两个文件id_rsa 和 id_rsa.pub
其中id_rsa为秘钥,id_rsa.pub为公钥,使用公钥加密的数据只有私钥才能对这些数据解密 c
- mysql : Lock wait timeout exceeded; try restarting transaction
aigo
mysql
原文:http://www.cnblogs.com/freeliver54/archive/2010/09/30/1839042.html
原因是你使用的InnoDB 表类型的时候,
默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,
因为有的锁等待超过了这个时间,所以抱错.
你可以把这个时间加长,或者优化存储
- Socket编程 基本的聊天实现。
alleni123
socket
public class Server
{
//用来存储所有连接上来的客户
private List<ServerThread> clients;
public static void main(String[] args)
{
Server s = new Server();
s.startServer(9988);
}
publi
- 多线程监听器事件模式(一个简单的例子)
百合不是茶
线程监听模式
多线程的事件监听器模式
监听器时间模式经常与多线程使用,在多线程中如何知道我的线程正在执行那什么内容,可以通过时间监听器模式得到
创建多线程的事件监听器模式 思路:
1, 创建线程并启动,在创建线程的位置设置一个标记
2,创建队
- spring InitializingBean接口
bijian1013
javaspring
spring的事务的TransactionTemplate,其源码如下:
public class TransactionTemplate extends DefaultTransactionDefinition implements TransactionOperations, InitializingBean{
...
}
TransactionTemplate继承了DefaultT
- Oracle中询表的权限被授予给了哪些用户
bijian1013
oracle数据库权限
Oracle查询表将权限赋给了哪些用户的SQL,以备查用。
select t.table_name as "表名",
t.grantee as "被授权的属组",
t.owner as "对象所在的属组"
- 【Struts2五】Struts2 参数传值
bit1129
struts2
Struts2中参数传值的3种情况
1.请求参数绑定到Action的实例字段上
2.Action将值传递到转发的视图上
3.Action将值传递到重定向的视图上
一、请求参数绑定到Action的实例字段上以及Action将值传递到转发的视图上
Struts可以自动将请求URL中的请求参数或者表单提交的参数绑定到Action定义的实例字段上,绑定的规则使用ognl表达式语言
- 【Kafka十四】关于auto.offset.reset[Q/A]
bit1129
kafka
I got serveral questions about auto.offset.reset. This configuration parameter governs how consumer read the message from Kafka when there is no initial offset in ZooKeeper or
- nginx gzip压缩配置
ronin47
nginx gzip 压缩范例
nginx gzip压缩配置 更多
0
nginx
gzip
配置
随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢?
gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用
- java-13.输入一个单向链表,输出该链表中倒数第 k 个节点
bylijinnan
java
two cursors.
Make the first cursor go K steps first.
/*
* 第 13 题:题目:输入一个单向链表,输出该链表中倒数第 k 个节点
*/
public void displayKthItemsBackWard(ListNode head,int k){
ListNode p1=head,p2=head;
- Spring源码学习-JdbcTemplate queryForObject
bylijinnan
javaspring
JdbcTemplate中有两个可能会混淆的queryForObject方法:
1.
Object queryForObject(String sql, Object[] args, Class requiredType)
2.
Object queryForObject(String sql, Object[] args, RowMapper rowMapper)
第1个方法是只查
- [冰川时代]在冰川时代,我们需要什么样的技术?
comsci
技术
看美国那边的气候情况....我有个感觉...是不是要进入小冰期了?
那么在小冰期里面...我们的户外活动肯定会出现很多问题...在室内呆着的情况会非常多...怎么在室内呆着而不发闷...怎么用最低的电力保证室内的温度.....这都需要技术手段...
&nb
- js 获取浏览器型号
cuityang
js浏览器
根据浏览器获取iphone和apk的下载地址
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" content="text/html"/>
<meta name=
- C# socks5详解 转
dalan_123
socketC#
http://www.cnblogs.com/zhujiechang/archive/2008/10/21/1316308.html 这里主要讲的是用.NET实现基于Socket5下面的代理协议进行客户端的通讯,Socket4的实现是类似的,注意的事,这里不是讲用C#实现一个代理服务器,因为实现一个代理服务器需要实现很多协议,头大,而且现在市面上有很多现成的代理服务器用,性能又好,
- 运维 Centos问题汇总
dcj3sjt126com
云主机
一、sh 脚本不执行的原因
sh脚本不执行的原因 只有2个
1.权限不够
2.sh脚本里路径没写完整。
二、解决You have new mail in /var/spool/mail/root
修改/usr/share/logwatch/default.conf/logwatch.conf配置文件
MailTo =
MailFrom
三、查询连接数
- Yii防注入攻击笔记
dcj3sjt126com
sqlWEB安全yii
网站表单有注入漏洞须对所有用户输入的内容进行个过滤和检查,可以使用正则表达式或者直接输入字符判断,大部分是只允许输入字母和数字的,其它字符度不允许;对于内容复杂表单的内容,应该对html和script的符号进行转义替换:尤其是<,>,',"",&这几个符号 这里有个转义对照表:
http://blog.csdn.net/xinzhu1990/articl
- MongoDB简介[一]
eksliang
mongodbMongoDB简介
MongoDB简介
转载请出自出处:http://eksliang.iteye.com/blog/2173288 1.1易于使用
MongoDB是一个面向文档的数据库,而不是关系型数据库。与关系型数据库相比,面向文档的数据库不再有行的概念,取而代之的是更为灵活的“文档”模型。
另外,不
- zookeeper windows 入门安装和测试
greemranqq
zookeeper安装分布式
一、序言
以下是我对zookeeper 的一些理解: zookeeper 作为一个服务注册信息存储的管理工具,好吧,这样说得很抽象,我们举个“栗子”。
栗子1号:
假设我是一家KTV的老板,我同时拥有5家KTV,我肯定得时刻监视
- Spring之使用事务缘由(2-注解实现)
ihuning
spring
Spring事务注解实现
1. 依赖包:
1.1 spring包:
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.
- iOS App Launch Option
啸笑天
option
iOS 程序启动时总会调用application:didFinishLaunchingWithOptions:,其中第二个参数launchOptions为NSDictionary类型的对象,里面存储有此程序启动的原因。
launchOptions中的可能键值见UIApplication Class Reference的Launch Options Keys节 。
1、若用户直接
- jdk与jre的区别(_)
macroli
javajvmjdk
简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
JDK就是Java Development Kit JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果安装了JDK,会发同你
- Updates were rejected because the tip of your current branch is behind
qiaolevip
学习永无止境每天进步一点点众观千象git
$ git push joe prod-2295-1
To
[email protected]:joe.le/dr-frontend.git
! [rejected] prod-2295-1 -> prod-2295-1 (non-fast-forward)
error: failed to push some refs to '
[email protected]
- [一起学Hive]之十四-Hive的元数据表结构详解
superlxw1234
hivehive元数据结构
关键字:Hive元数据、Hive元数据表结构
之前在 “[一起学Hive]之一–Hive概述,Hive是什么”中介绍过,Hive自己维护了一套元数据,用户通过HQL查询时候,Hive首先需要结合元数据,将HQL翻译成MapReduce去执行。
本文介绍一下Hive元数据中重要的一些表结构及用途,以Hive0.13为例。
文章最后面,会以一个示例来全面了解一下,
- Spring 3.2.14,4.1.7,4.2.RC2发布
wiselyman
Spring 3
Spring 3.2.14、4.1.7及4.2.RC2于6月30日发布。
其中Spring 3.2.1是一个维护版本(维护周期到2016-12-31截止),后续会继续根据需求和bug发布维护版本。此时,Spring官方强烈建议升级Spring框架至4.1.7 或者将要发布的4.2 。
其中Spring 4.1.7主要包含这些更新内容。