自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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', '~> 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关注的人

提示
确定要删除当前文章?
取消 删除