- 博客(22)
- 收藏
- 关注
原创 Swift生成二维码、通过Color生成Image
import UIKitextension UIImage { class func createQRCodeImage(content: String, size: CGSize) -> UIImage { let stringData = content.data(using: String.Encoding.utf8) ...
2018-12-17 11:21:55 598
原创 Swift扩展UIView:增加width height属性
import UIKitextension UIView { var x: CGFloat { get { return frame.origin.x } set(newValue) { var tempFrame: CGRect = frame tempFrame.origin.x = n...
2018-12-17 11:10:12 2048
原创 Swift添加CAGradientLayer渐变色背景颜色
渐变色的简单实现let gradientLayer = CAGradientLayer()gradientLayer.frame = self.view.boundsgradientLayer.colors = [UIColor(hex: "ffffff").cgColor, UIColor(hex: "000000").cgColor]view.layer.addSublayer(gra...
2018-12-17 11:03:09 1860
原创 Swift自定义UIColor
import Foundationimport UIKitextension UIColor { convenience init(hex: String) { self.init(hex: hex, alpha: 1) } convenience init(hex: String, alpha: CGFloat) { ...
2018-12-14 18:23:36 852
原创 Swift获取当前时间
extension Date { static func getCurrentTime() -> Int64 { let now = Date() let timeInterval: TimeInterval = now.timeIntervalSince1970 return Int64(timeInterval) ...
2018-12-14 18:12:25 2078
原创 Swift Double向上取整和向下取整、Double转Int/String
floor()函数:向下取整,取小于等于这个数的最大整数ceil()函数:向上取整,取大于等于这个数的最小整数import Foundationextension Double { func intValue() -> Int { return Int(self) } func stringIntValue() -> String { ...
2018-12-14 18:06:51 7022
原创 Swift String通过下标获取子串、计算字符串的宽高、16进制转10进制、String转换为AttributedString、使用正则验证合法性
extension String { func index(from: Int) -> Index { return self.index(startIndex, offsetBy: from) } func substring(from: Int) -> String { let fromIndex = index(from: ...
2018-12-14 17:43:21 672
原创 Swift关键字where
where : 用于条件判断let point = (1, -1) switch point { case let (x, y) where x == y: print("x == y")case let (x, y) where x > y: print("x > y")case let (x, y) where x < y: ...
2018-12-14 17:21:17 687
原创 Swift关键字final、typealias、mutating、convenience
final使用场景:权限控制,也就是说这个类或方法不希望被继承和重写final class Book {}final func method() {}typealias: 为此类型声明一个别名.和 typedef类似typealias TestString = Stringlet testStr = TestString(format: "%d", 1)print(testStr)...
2018-12-14 17:15:13 223
原创 Swift数组的sort、filter、forEach、map等方法,$的使用
swift自动为闭包提供参数名缩写功能,可以直接通过$0和$1等来表示闭包中的第一个第二个参数,并且对应的参数类型会根据函数类型来进行判断。并且in关键字也可以省略,只写函数体就可以了。例如arr.sorted { (a, b) in return a < b }相当于arr.sorted { $0 < $1 }1.sort:数组排序例如let arr = ...
2018-12-14 15:16:48 5150
原创 Swift guard let 的使用
guard let的意思与if let的意思是一样的,都是针对于可选类型进行解包,使用guard let可以是代码更加清晰易读。例如let dictionary: Dictionary<String, Any>? = ["data": ["book" : ["id" : "1"]]]if let dict = dictionary { if let data = dict...
2018-12-14 14:09:34 4386
原创 Swift关键字defer
defer 里的代码会在函数 return 之前执行,无论函数是从哪个分支 return的,包括有try catch的情况。例如defer { print("defer")}if sign { print("true")} else { print("false")}do { print("do&qu
2018-12-14 13:54:03 1085
原创 Swift实现应用的多语言
import Foundationenum Language { case english case chinese}class LocalizationTool { static let shared = LocalizationTool() let defaults = UserDefaults.standard var b...
2018-12-13 11:46:47 3243 1
原创 Swift监听网络的变化
使用Alamofire的网络管理监听网络1.程序启动后,若无网则提示,来网后提示,网络变化提示并发出通知2.程序启动后,若有网则不提示,网络变化提示并发出通知import UIKitimport Alamofireenum NetworkingStatus { case mobile case wifi case none var description...
2018-12-13 11:13:44 1342
原创 Swift获取应用和设备的信息
guard let infoDictionary = Bundle.main.infoDictionary else { return }应用名称let appDisplayName = infoDictionary["CFBundleDisplayName"] as? StringAPP版本号let appVersion = infoDictionary["CFBundleShortV...
2018-12-12 15:12:57 1535
原创 Swift TouchId 实现指纹登录
import Foundationimport LocalAuthenticationclass TouchIdManager: NSObject { @objc enum TouchIdResult: NSInteger { case success case failed case passwordNotSet ...
2018-12-12 11:39:57 849
原创 Swift 3DTouch开发 自定义ShortcutItems
3DTouch的分享菜单是上架后系统自动加上的,其他的菜单需要我们自定义。1.定义菜单项Modelimport Foundationenum ShortcutItem { case scan case send case receive case qrcode var type: String { switch self { ...
2018-12-12 11:36:16 636
原创 Swift清除APP缓存和WebView缓存
import Foundationimport WebKitclass ClearCacheManage { class func sizeOfAllCache() -> String { let cachePath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirector...
2018-12-11 18:38:34 2278
原创 Swift钥匙串KeychainSwift的使用
pod 'KeychainSwift', '12.0.0'import Foundationimport KeychainSwiftclass KeyChainManager { static let shared = KeyChainManager.init() private let keychain = KeychainSwift(keyPref...
2018-12-11 18:35:25 4865
原创 Swift数据库框架Realm的使用
GitHub地址:https://github.com/realm/realm-cocoa不同于SQLite和CoreData,Realm跨平台简单易用,并可以监听数据库的变化。1.使用CocoaPods导入Realmpod 'RealmSwift', '3.11.0'2.创建Realm.Configuration配置文件import Foundationimport RealmSw...
2018-12-11 17:46:20 2168
原创 Swift网络请求框架Moya的使用
Moya基于Alamofire进行封装,使用更加简单,维护更加方便。GitHub地址:https://github.com/Moya/Moya.git1.使用CocoaPods导入Moya:pod 'Moya', '~&gt; 11.0.2'2.创建一个对象实现TargetType协议的方法import Foundationimport Moyaenum ScanServer {...
2018-12-11 17:12:13 4497
原创 Swift自定义UISlider的圆点,UISlider手势与侧滑返回手势冲突
import UIKitclass CustomSlider: UISlider { init() { super.init(frame: CGRect()) self.minimumValue = 0 self.maximumValue = 100 self.value = 0 self.min...
2018-12-11 11:44:22 1515
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人