一直以来对ios 的错误日志都是朦朦胧胧的也没有太多的时间去增强代码的健壮性, 今天搞了下,记录下也为后人做贡献 第一步:打开 Xcode,选择"Window——>Organizer" 第二步:选择对应版本的 Archive 包,"右键——>Show in Finder" 第三步:选择对应版本的".xcarchive"文件,"右键——>显示包内容" dSYMs 文件夹下或许就有.dSYM 比如我的 Notificati…
一直以来对ios 的错误日志都是朦朦胧胧的也没有太多的时间去增强代码的健壮性, 今天搞了下,记录下也为后人做贡献 第一步:打开 Xcode,选择"Window——>Organizer" 第二步:选择对应版本的 Archive 包,"右键——>Show in Finder" 第三步:选择对应版本的".xcarchive"文件,"右键——>显示包内容" dSYMs 文件夹下或许就有.dSYM 比如我的 Notificati…
可选接口和接口扩展 转自 : http://swifter.tips/objc-protocol/ Objective-C 中的 protocol 里存在 @optional 关键字,被这个关键字修饰的方法并非必须要被实现。我们可以通过接口定义一系列方法,然后由实现接口的类选择性地实现其中几个方法。在 Cocoa API 中很多情况下接口方法都是可选的,这点和 Swift 中的 protocol 的所有方法都必须被实现这一特性完全不同。 那些如果没有实现则接口就无法正常工作的方法一般是必须的,而相对地像作为事件通知…
转自: http://swifter.tips/protocol-extension/ Swift 2 中引入了一个非常重要的特性,那就是 protocol extension。在 Swift 1.x 中,extension 仅只能作用在实际的类型上 (也就是 class, struct 等等),而不能扩展一个 protocol。在 Swift 中,标准库的功能基本都是基于 protocol 来实现的,举个最简单的例子,我们每天使用的 Array 就是遵守了 CollectionType 这个 protocol 的…
let view = UIView(frame: CGRect(x: 100, y: 100, width: 100, height: 100)) view.layer.transform = CATransform3DMakeRotation(CGFloat(M_PI), 0, 1, 0)
LOG 输出,一直用oc 的条件编译, 刚发现swift 同样可以实现 现记录 转: http://swifter.tips/log/ http://swifter.tips/condition-compile/ LOG 输出 由 王巍 (@ONEVCAT) 发布于 2015-12-30 Log 输出是程序开发中很重要的组成部分,虽然它并不是直接的业务代码,但是却可以忠实地反映我们的程序是如何工作的,以及记录程序运行的过程中发生了什么。 在 Swift 中,最简单的输出方法就是使用 print,在我们关心的地方输出…
开发中遇到很多小错误大错误, 很多时候下次遇到可能已经忘记,这里做一个记录, 注:很多是个人的理解不一定是正确答案 1 上传包ERROR ITMS-90206 ERROR ITMS-90206: "Invalid Bundle. The bundle at 'xxx WatchKit Extension.appex' contains disallowed file 'Frameworks'." I have tried all the ... 这个发现是扩展加载了一些不该加载的, xcode8…
UIActionSheet 其实已经弃用,但是我们还在适配ios7 所以还在用着, 遇到过两次ipad 弹不出的问题, 然后时间久了会忘记,特此记录一下 创建用 let actionSheet = UIActionSheet() actionSheet.delegate = self actionSheet.actionSheetStyle = UIActionSheetStyle.default actionSheet.addButton(withTitle: "取消") actionShee…
使用String字面量给常量赋值 let string = "string literal value" //常量string将会自动推断为String类型 初始化一个空的String var emptyStr = "" //使用空字符串字面量 var anotherEmptyStr = String() //使用构造方法 //两者没有区别 使用isEmpty判断空String: if emptyStr.isEmpty { print("have nothing h…
准备换数据库realm 环境xcode8.1 swift oc 混编 官方没有太多这样的说明 ,就是用oc 的库导入一个swift文件然后调用吧 文档页面: https://realm.io/docs/objc/latest/ ####1 创建数据库文件, /// 创建数据库文件 /// /// - Parameter dataName: dataName 数据库文件名称 func createRleam(dataName:String){ let path = NSSearchPathForDirectories…
OS X终端使用配置socks5 代理 在终端环境下科学上网,本来是想用proxychains4的,可是不知道什么问题,在我的电脑osx 10.11.1下没有代理效果。 如果已经启用shadowsocks 本地代理为 socks5://127.0.0.1:1080 在终端下使用 export ALL_PROXY=socks5://127.0.0.1:1080 清除代理 unset ALL_PROXY 为了方便呢,可以在.bash_profile中加上这个 function setproxy() { # export…