protocol Reusable: class { static var reuseIndentifier: String {get} static var nib: UINib? {get} } extension Reusable { static var reuseIndentifier: String { return String(Self) } static var nib: UINib? { return nil } } extension UITableView { func…
showWebView.dataDetectorTypes = .None //swift禁用webView对H5中数字,链接,日期,地址,电话号码做解析 其UIDataDetectorTypes属性: static var PhoneNumber: UIDataDetectorTypes { get } // Phone number detection static var Link: UIDataDetectorTypes { get } // URL detection static v…
在WWDC大会中发布了Swift让人眼前一亮.终于加了很多的现代编程语言该有的东西.很早年以前玩C#3.0+的时候这些差不多类似的 已经用的烂熟的东西终于一点一点的在看Swift Programming Language的时候再唤醒. Swift较之于OC(Objective-C)在愈发上几乎是一门新的语言了,幸运的是Swift和OC都是出自苹果大家庭,还能在一张桌子上吃饭.也就是说在升级项目 的时候你可以考虑使用Swift开发新的功能,调用已有的部分或者被已有的部分调用.或者在Swift开发的…
目前我所知道的,在cocoa中获得root权限的方法有3种: 1. 通过AuthorizationCopyRights函数 2. 在UI上添加一个锁的样子的控件,然后通过开关这个锁来获取root权限 3. 直接调用Applescript来以root权限执行脚本 其中方法1和2一般用来执行一个shell脚本或者一个可执行文件,方法3则直接执行一个applescript脚本. 当然方法1和2也可以执行一个保存的applescript脚本,方法3也可以用applescript脚本来执行shell或可执…
本篇纯属抬杠之作,之前我们提到了Swift的泛型Protocol使用associatedtype关键字,而不是使用<Type>语法的泛型参数.这其中有什么好处呢? 我就这个问题搜索了一些回答,大体上提到两点: <Type>语法对Protocol没有意义,Protocol仅需要定义一个抽象的概念,具体的类型应该由实现的Class来明确,比如: ClassWithInt<Int>: NumberProtocol ClassWithDouble<Double>:…
本节内容包括: 字符串(Strings) 数值(Numbers) 集合类(Collection Classes) 错误(Errors) Foundation数据类型(Foundation Data Types) Foundation函数(Foundation Functions) Core Foundation 作为对 Objective-C 互用性(互操作性)的一部分,Swift提供快捷高效的方式来处理 Cocoa 数据类型. Swift 会自动将一些 Objective-C 类型转换为 Sw…
看到阿里的网站上可以通过点击卖家的旺旺图标从而调用本地的阿里旺旺程序,而且还可以传递当前浏览者需要咨询的商品.这是怎么实现的呢?是通过URLProtocol来完成. 原理还没有太清楚,即在系统里注册一个URL Protocol,当浏览器页面触发时调用这个本地应用程序: 1.在注册表的HKEY_CLASSES_ROOT根下面写入一个项目mini188,并建立子项目,如下图所示: 2.然后在command键下面的默认值中写入exe的位置信息: 3.创建一个html页面,代码如下: <html> &…
虚拟机里安装OSX+XCode开发环境 用真机的请直接跳过这个部分. 主要是在VitrualBox里安装mac系统和xcode,参考这篇教程,VirtualBox的版本是4.3.18 r96156,OSX版本是10.11 El Capitan,XCode版本是7.1 (7B91b). 经过几天的初步使用,感觉用虚拟机开发iOS基本能够满足要求,i5/8g/ssd的配置目测能达到真机70%的开发效率.主要存在的问题是:1)在宽屏上无法满屏,两边会留有黑框,导致鼠标无法顺利停靠在两侧 2)键盘敲击频…
出题者简介: 孙源(sunnyxx),目前就职于百度 整理者简介:陈奕龙(子循),目前就职于滴滴出行. 转载者:豆电雨(starain)微信:doudianyu 在 protocol 中使用 property 只会生成 setter 和 getter 方法声明,我们使用属性的目的,是希望遵守我协议的对象能实现该属性 category 使用 @property 也是只会生成 setter 和 getter 方法的声明,如果我们真的需要给 category 增加属性的实现,需要借助于运行时的两个函数…
相同的值可以多次出现在一个数组的不同位置: Swift中的数组,数据值在被存储进入到某个数组之前类型必须明确,可以显示的类型标注或者类型推断.而且,Swift中的数组不必是对象类型. OC中的NSArray和NSMutableArray,他们可以存储任何类型的实例,而且不提供他们返回对象的任何本质信息.…