swift
文章平均质量分 64
Haiztao
iOS 开发
展开
-
swift 音乐播放单例
遇到需要播放闹钟,警告铃的需求时,需要封装一个播放音乐的单例,以下是单例代码://// AlertSoundPlayer.swift// Sleep//// Created by haitao on 15/11/27.// Copyright © 2015年 广州. All rights reserved.//import UIKitimport AVFoundat...原创 2019-06-14 17:56:23 · 538 阅读 · 0 评论 -
快速给UIView添加单边或多边圆角
可以CAShapeLayer来设定UIView.layer.mask 来实现圆角主要参数:public struct UIRectCorner : OptionSet { public init(rawValue: UInt) public static var topLeft: UIRectCorner { get } public static var ...原创 2019-09-04 16:42:22 · 776 阅读 · 0 评论 -
Carthage集成工具使用
Carthage和CocoaPods相比,轻量级一些,在swift中使用很方便,它本身就是swift写的。Carthage旨在成为向Cocoa应用程序添加框架的最简单方法。1、安装brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"...原创 2019-08-02 11:33:40 · 409 阅读 · 0 评论 -
textfield靠右编辑不显示空格的bug
用iOS原生的textField文本靠右编辑,不显示空格的bug。self.textField.textAlignment = .right,即设置NSTextAlignmentRight时就会有显示问题解决思路解决思路很简单,就是将我们输入的普通空格使用Non-breaking space代替。1.首先设置控制器作为textfield的代理self.textField.dele...原创 2019-07-23 12:39:53 · 1415 阅读 · 0 评论 -
斐波那契(fibonacci)数列模块
定义斐波那契数列是一系列数字,除了第一个和第二个数字之外,任何数字都是前两个数字之和: 0、1、1、2、3、5、8、13、21...... 数列中的第一个斐波那契数的值为0,第四个斐波那契数为2,第n个斐波那契数的值可以通过下述公式计算: fib(n) = fib(n-1) + fib(n-2)swift迭代计算:/** prev与curr分别代表f(n-1)和f(n)*...原创 2019-07-30 12:00:41 · 514 阅读 · 0 评论 -
swift 计算两个日期相差几天
业务上需要计算两个日期相差几天,来显示上一次操作时间过去多久。官方为我们提供了NSCalendar类,来管理时间。天的参数是:NSCalendar.Unit.day如果计算相差的小时数,可改为NSCalendar.Unit.hour; day改为hour。 // MARK: - 计算两日期间相差的天数 /**计算两日期间相差的天数*/ class func di...原创 2018-09-10 16:39:18 · 1427 阅读 · 0 评论 -
KVO编码(swift )
KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受收到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。对于夸界面修改实例属性的,我们会利用到kvo来监听值变化,并显示在界面上,去除NotificationCenter通知的臃肿代码和阅读障碍。使用kvo时,注意在界面销毁,移除监听,把指针置...原创 2019-07-05 17:41:45 · 139 阅读 · 0 评论 -
iOS日志打印存贮到txt文件及沙盒文件操作
在我们开发中过程中有时候会有这样的场景,需要脱离连线调试代码,但是又看不见控制台的Log,所以将Log存到文本中,调试过程全部记录下来,随时可以看。存贮:class func logWithTag(_ tag:String){ if logMode { print(tag) //将数据写入log中, ...原创 2019-01-10 17:40:12 · 1026 阅读 · 0 评论 -
XCode编译时出现(dyld): Library not loaded: 错误解决方法
编译时出现错误现象:dyld: Library not loaded: @rpath/DFULibrary.framework/DFULibrary Referenced from: /private/var/mobile/Containers/Bundle/Application/F33A206D-59CF-4ECE-96F4-3814818A09E3/nRF Toolbox.a...原创 2018-09-18 11:08:51 · 6192 阅读 · 2 评论 -
swift 对json数组根据时间排序
//dataArray:[OperationMaintenanceObject] 对象数组 funcresponsDeal(dataArray:[OperationMaintenanceObject]){ //可变集合 letoperationSet =NSMutableSet() //遍历数组加进集合 fo...原创 2018-09-05 11:05:24 · 1446 阅读 · 0 评论 -
iOS 蓝牙进入后台仍保活
相信大家在开发蓝牙应用的过程中会遇到需要连接蓝牙获取实时数据,然而我们不可能让应用一直保持在前台运行,所以需要设置权限让APP进入后台还继续运行蓝牙模块。1、首先我们会想到xcode的设置,如下图2、然而这样设置了,APP进入后台后,如果蓝牙连接着就会一直通讯,如果没有通讯,系统也会将进程挂起,所以需要进行心跳包,保证数据通讯不断。但假如进入后台后蓝牙断开了,APP就被挂起来了,所...原创 2019-06-17 12:00:41 · 4227 阅读 · 9 评论 -
Swift 闭包(block)详解
1、闭包Swift对闭包进行了简化:利用上下文推断参数和返回值类型 隐式返回单表达式闭包,即单表达式闭包可以省略return关键字 参数名称缩写 尾随(Trailing)闭包语法先来看一个排序的例子,数组的降序排列let usernames = ["Wangwu", "Lisi", "Xiaoming", "Zhangsan"]func backWards(s1: Stri...原创 2019-09-18 11:33:23 · 7608 阅读 · 0 评论