
iOS开发/Swift
lausen34
菜鸟一只
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
swift3.0通过响应链获取当前试图的控制器
func parentViewController() -> UIViewController? { let n = next while n != nil { let controller = next?.next if (controller is UIViewController) { return controller as? U原创 2017-03-06 10:35:05 · 1957 阅读 · 0 评论 -
用终端删除掉忽略文件的前缀
不知道从MAC OS那个版本开始,直接更改忽略文件的前缀,不被允许了,这个时候,可以从终端删除掉它的前缀 分为(两)三步,可省略中间一步 1:cd到当前的目录 2:展开当前文件夹 3:删除前缀 删除后的结果原创 2017-07-04 23:27:49 · 527 阅读 · 0 评论 -
使用XIB设置UILabel的换行及设置每一行的字体大小
1:先往XIB上拖一个Label.设置好约束2:设置属性:3:通过Option+return组合键来换行效果如下:4:重点来了,设置字体大小效果如下:5:设置行间距一样的通过箭头来调整字体大小,效果如下:设置字体的颜色,也是如此,原创 2017-06-12 22:15:20 · 7109 阅读 · 0 评论 -
Swift中的ARC(Automatic Reference Counting)
first of all参考文档ARC(自动引用计数)Swift使用”自动引用计数(Automatic Reference Counting)”来跟踪和管理引用程序中的内存使用情况。在大多数情况下,这意味着在Swift中内存不需要你自己来管理,当有些实例对象不再需要时(引用计数为0),ARC会自动释放实例对象使用的内存ARC如何工作每次创建一个类的新实例时,ARC会分配一大块内存来存储有关该实例的信原创 2017-06-07 17:26:29 · 925 阅读 · 0 评论 -
Swift3.0中无父类的类用description打印地址
在Swift中,类可以没有父类,如果继承自NSObject的类,可以直接使用description来打印地址,但是如果没有父类,那么这个类就要遵循一个协议:CustomStringConvertible 该协议的源文件介绍如下:/// - SeeAlso: `String.init<T>(T)`, `CustomDebugStringConvertible`public protocol Cus原创 2017-05-17 10:27:52 · 668 阅读 · 0 评论 -
获取用户允许发送通知的代码
if #available(iOS 10.0, *) { UNUserNotificationCenter.current().requestAuthorization(options: [.alert,.carPlay,.sound,.badge]) { (isSuccess, error) in if isSuccess {原创 2017-04-22 16:10:54 · 554 阅读 · 0 评论 -
Swift项目中手动添加桥接文件
1:先新建一个New. File ……………………………/≤. 2:选择Header File 3:给Header File命名4:添加关联 5:输入Header File文件的路径 6:以上操作完成之后,command + B编译一下,如果错误,的话,会提示你找不到这个Header File原创 2017-04-22 15:55:44 · 3865 阅读 · 0 评论 -
iOS系统各个版本的占比查询
屏幕和系统的适配,对于每一个开发者来说都是至关重要的,苹果官网查询各个系统的占比: https://developer.apple.com/support/app-store/原创 2017-03-14 16:29:17 · 7772 阅读 · 0 评论 -
Swift中统计代码行数
1:打开终端2:cd到当前文件3:输入:find . -name “*.swift” | xargs wc -l 敲回车原创 2017-04-09 01:35:37 · 1355 阅读 · 0 评论 -
Swift应用程序,进入后台,和进入前台的高斯模糊效果
偶然的机会碰到了UIVisualEffectView(菜鸟一只,不要嘲笑),发现原来苹果就是靠这个实现高斯模糊的. 在appdelegate里面先声明一个全局的常量, 然后当应用程序辞去激活的时候,添加一个高斯模糊的试图到应用程序上, 当应用程序已经被激活的时候,在移除这个高斯模糊的试图, 代码如下:import UIKit@UIApplicationMainclass AppDelega原创 2017-03-10 09:48:37 · 1577 阅读 · 0 评论 -
Xcode8中关于代码标注的两个技巧
1: //MARK 或者 //MARK – 2://FIXME原创 2017-03-06 22:58:38 · 248 阅读 · 0 评论 -
[Warning] <UIVisualEffectView 0x151d469e0> is being asked to animate its opacity. This will cause th
头天晚上开开心心写的代码,第二天早上一来就出现了这种情况,对于记忆只有半天的我来说,真不知道出了什么情况,就挨个的找呀,找呀,后来发现是头天手欠,在push到的那个控制器的viewDidAppear方法里面误写了一个显示toolBar的方法 代码如下:override func viewDidAppear(_ animated: Bool) { super.viewDidAppea原创 2017-03-10 10:52:07 · 791 阅读 · 0 评论 -
逃逸闭包(@escaping)和非逃逸闭包
逃逸闭包:当函数执行结束后,才去调用函数内部的闭包,叫做逃逸闭包 非逃逸闭包:当函数执行过程中,执行的函数内部的闭包,叫做非逃逸闭包 @noescapeimport UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() lo原创 2017-03-20 10:26:34 · 5475 阅读 · 0 评论 -
Swift中支持iOS9不会造成循环引用的定时器(DispatchSourceTimer)
不会移除不掉timer造成内存泄漏的timer利用GCD实现定时器功能利用GCD实现定时器功能首先为什么我要选择用DispatchSourceTimer来实现定时器功能:个人认为不是Timer和 控制器/视图 循环引用造成的释放不掉,而是timer对它的target是强引用造成的.为什么呢?苹果提供的Timer是要添加到RunLoop上的,当前的RunLoop对定时器有一个强引用,而Tim...原创 2019-04-25 13:42:10 · 1970 阅读 · 1 评论