Swiftex 0.2.15

Swiftex 0.2.15

测试已测试
语言语言 SwiftSwift
许可证 Apache-2.0
发布最后发布2021年11月
SPM支持 SPM

Vitaliy Kuzmenko 维护。



Swiftex 0.2.15

Swiftex

Swift 3 函数扩展

#安装

pod 'Swiftex'

###数组

访问器 secondthird

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