iOS: 学习笔记, swift扩展

时间:2024-12-23 13:03:39
//
// YYExtension.swift
//
// Created by yao_yu on 14-7-18.
// Copyright (c) 2014年 yao_yu. All rights reserved.
// import Foundation extension String{
func strip() -> String{
return stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
} func split(separator: String) -> [String]{
return componentsSeparatedByString(separator)
} var doubleValue:Double!{
return (self as NSString).doubleValue
} var length:Int{
return countElements(self)
} func isValidRange(range: Range<Int>) -> Bool{
return range.startIndex >= && range.endIndex <= length
} subscript (range: Range<Int>) -> String {
assert(isValidRange(range), "范围超出字符串长度")
var startIndex:String.Index = advance(self.startIndex, range.startIndex)
var endIndex:String.Index = advance(startIndex, range.endIndex - range.startIndex)
return self.substringWithRange(Range(start: startIndex, end: endIndex))
} subscript (index: Int) -> String{
return self[index...index]
} func at (indexes: Int...) -> [String] {
return indexes.map { self[$] }
} func at (indexes: [Int]) -> [String] {
return indexes.map { self[$] }
}
} extension Array {
func take(n: Int) -> SliceType{
return self[ ..< n]
} func tail (n: Int) -> SliceType {
return self[(count - n) ..< count]
} func skip (n: Int) -> SliceType {
return self[n ..< count]
}
}