Swiftex
Swift 3 函数扩展
#安装
pod 'Swiftex'
###数组
访问器 second
和 third
let array = ["Say", "Hi", "Hello"]
print(array.second) // Optional("Hi")
print(array.third) // Optional("Hello")
将对象从索引移动到索引
var array = ["Say", "Hi", "Hello"]
array.move(fromPosition: 0, toPosition: 1)
// "Hi", "Say", "Hello"
移除 Equatable 对象
var array = ["Say", "Hi", "Hello"]
array.remove("Hi") // return removed index
// "Say", "Hello"
移除重复项
let array = ["Say", "Hi", "Say", "Hello"]
let clean = array.removeDuplicates("Hi")
// "Say", "Hi", "Hello"
###字典
移除 nil
值
let dict: [String: String?] = [
"say": "hi"
"hello": nil
]
removeNilValues(dict)
// ["say": "hi"]
整型,双精度,浮点型
.toString
字符串
去除空白字符
let str = "Say, hi, hello! "
str.trim // "Say, hi, hello!"
检查是否有 E-mail
let str = "[email protected]"
if str.isEmail {
// true
}
检查是否只包含字符串 包含字母
符号
let str = "String"
if str.isAlphabet {
// true
}
对字符串进行 URL 编码
"hello, how are you?".URLEncode
从字符串中获取 URL
值
let str = "http://google.com"
let url = str.URLValue
从字符串中提取仅包含数字的部分
let str = "Say 123-345 Hello"
str.numbers // returns 123345
从字符串中提取不带空白的字母
let str = "Say 123-345 Hello"
str.letters // returns SayHello
从字符串中提取带空白的字母
let str = "Say 123-345 Hello"
str.lettersWithSpace // returns Say Hello
从字符串中提取 数据
对象
let str = "Say Hi, Hello"
str.dataValue // Data object encoded with UTF8
更多信息请查看 String+Extension.swift
###数据
作为无空格字符串的 APNS 设备令牌
let deviceToken: Data = ...
deviceToken.deviceTokenAsString // a3de...
###日期
var ISO8601String: String?
var tomorrow: Date
var seconds: Int
var minutes: Int
var hours: Int
var day: Int
var month: Int
var year: Int
var isToday: Bool
var tomorrow: Date
func isSame(date: Date?) -> Bool
func isSameMonth(date: Date) -> Bool
// Compare
Date == Date
Date < Date
Date <= Date
Date >= Date
Date > Date
###NSObject
class var nameOfClass: String
var nameOfClass: String
func addNotificationObServer(name: Notification.Name, selector: Selector)
func removeNotificationObServer(name: Notification.Name)
func removeNotificationObserver()
###通知中心
轻松发布通知
NotificationCenter.post(name: .NotificationName)
###NSNumber
从字符串创建 NSNumber
let str = "1234"
NSNumber(string: str) // returns 0 if string incorrect
// automatic detect decimal separtor for all locales
###CGSize
长宽比
func aspectRatio(newWidth: CGFloat) -> CGSize
func aspectRatio(newHeight: CGFloat) -> CGSize
UIColor
func hexString(prefix: Bool = false) -> String
###UIImage
func resize(newSize: CGSize) -> UIImage
###UIViewController
实现键盘通知的简单方式
// In viewDidLoad:
func addKeyboardWillShowNotification()
func addKeyboardDidShowNotification()
func addKeyboardWillHideNotification()
func addKeyboardDidHideNotification()
// in deinit:
func remove...
// Override
override func keyboardWillShow(frame: CGRect) {
}
override func keyboardDidShow(frame: CGRect) {
}
override func keyboardWillHide(frame: CGRect) {
}
override func keyboardDidHide(frame: CGRect) {
}
UIWindow
let windowSize = UIWindow.size