From 36cf788708fe5fb56206a093e91d1a8bb0a7bd4b Mon Sep 17 00:00:00 2001
From: featherJ <438517073@qq.com>
Date: Sat, 30 Jan 2016 15:28:59 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=95=B0=E7=BB=84=E5=92=8C?=
=?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=B2=E7=9A=84=E6=89=A9=E5=B1=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../flash/extensions/NSArrayExtension.swift | 40 +++++++
.../extensions/NSMutableArrayExtension.swift | 1 +
Source/flash/extensions/StringExtension.swift | 105 +++++++++++++++++-
.../UserInterfaceState.xcuserstate | Bin 113333 -> 116550 bytes
4 files changed, 141 insertions(+), 5 deletions(-)
diff --git a/Source/flash/extensions/NSArrayExtension.swift b/Source/flash/extensions/NSArrayExtension.swift
index ded44ec..87d2392 100644
--- a/Source/flash/extensions/NSArrayExtension.swift
+++ b/Source/flash/extensions/NSArrayExtension.swift
@@ -7,6 +7,7 @@
//
import Foundation
+
public extension NSArray {
/**
将参数中指定的元素与数组中的元素连接,并创建新的数组。
@@ -47,6 +48,45 @@ public extension NSArray {
return newArray;
}
+ /**
+ 返回由原始数组中某一范围的元素构成的新数组,而不修改原始数组。
+ 返回的数组包括 startIndex 元素以及从其开始到endIndex 元素(但不包括该元素)的所有元素。
+ 如果不传递任何参数,则新数组是原始数组的副本(浅表克隆)。
+ Returns a new array that consists of a range of elements from the original array,
+ without modifying the original array. The returned array includes
+ the startIndex element and all elements up to, but not including, the endIndex element.
+ If you don't pass any parameters,
+ the new array is a duplicate (shallow clone) of the original array.
+
+ - parameter startIndex: 一个数字,指定片段起始点的索引。
+ 如果 startIndex 是负数,则起始点从数组的结尾开始,其中 -1 指的是最后一个元素。
+ A number specifying the index of the starting point for the slice.
+ If startIndex is a negative number, the starting point begins at the end of the array,
+ where -1 is the last element.
+
+ - parameter endIndex: 一个数字,指定片段终点的索引。如果省略此参数,
+ 则片段包括数组中从开头到结尾的所有元素。如果 endIndex 是负数,
+ 则终点从数组的结尾指定,其中 -1 指的是最后一个元素。
+ A number specifying the index of the ending point for the slice.
+ If you omit this parameter, the slice includes all elements from
+ the starting point to the end of the array. If endIndex is a negative number,
+ the ending point is specified from the end of the array, where -1 is the last element.
+
+
+ - returns: 一个数组,由原始数组中某一范围的元素组成。
+ An array that consists of a range of elements from the original array.
+ */
+ public func slice(startIndex: Int = 0, _ endIndex: Int = Int.max) -> NSMutableArray {
+ var start = startIndex;
+ var end = endIndex;
+ if (start < 0) {start = length + start}
+ if (end < 0) {end = length + end}
+ if (start > length) {start = length}
+ if (end > length) {end = length}
+ if (end <= start) {return NSMutableArray()} ;
+ return NSMutableArray(array: self.subarrayWithRange(NSRange(location: start, length: end - start))) ;
+ }
+
/**
使用 strict equality (===) 运算符搜索数组中的项,并返回项的索引位置。
Searches for an item in an array by using strict equality (===)
diff --git a/Source/flash/extensions/NSMutableArrayExtension.swift b/Source/flash/extensions/NSMutableArrayExtension.swift
index 9b27db9..528fc4f 100644
--- a/Source/flash/extensions/NSMutableArrayExtension.swift
+++ b/Source/flash/extensions/NSMutableArrayExtension.swift
@@ -7,6 +7,7 @@
//
import Foundation
+
public extension NSMutableArray {
/**
diff --git a/Source/flash/extensions/StringExtension.swift b/Source/flash/extensions/StringExtension.swift
index e68847f..f028055 100644
--- a/Source/flash/extensions/StringExtension.swift
+++ b/Source/flash/extensions/StringExtension.swift
@@ -5,7 +5,7 @@
// Created by featherJ on 16/1/5.
// Copyright © 2016年 fancynode. All rights reserved.
//
-
+import Foundation;
public extension String {
/**
返回一个字符串,该字符串由参数中的 Unicode 字符代码所表示的字符组成。
@@ -63,6 +63,27 @@ public extension String {
return nil;
}
+ /**
+ 在 String 对象末尾追加补充参数(如果需要,将它们转换为字符串)并返回结果字符串。
+ 源 String 对象的原始值保持不变。
+ Appends the supplied arguments to the end of the String object,
+ converting them to strings if necessary, and returns the resulting string.
+ The original value of the source String object remains unchanged.
+
+ - parameter args: 0 个或多个要连接的值。
+ Zero or more values to be concatenated.
+
+ - returns: 由该字符串与指定的参数连接而成的新字符串。
+ A new string consisting of this string concatenated with the specified parameters.
+ */
+ public func concat(args: AnyObject...) -> String {
+ var str: String = ""
+ for (var i = 0;i < args.count;i++) {
+ str += String(args[i])
+ }
+ return str
+ }
+
/**
返回一个子字符串,该子字符串中的字符是通过从指定的 startIndex 开始,按照 len 指定的长度截取所得的。原始字符串保持不变。
Returns a substring consisting of the characters that start at the specified startIndex and with a length specified by len. The original string is unmodified.
@@ -75,7 +96,7 @@ public extension String {
- returns: 基于指定参数的子字符串。
A substring based on the specified parameters.
*/
- public func substr(startIndex: Int = 0, _ len: Int = 0x7fffffff) -> String {
+ public func substr(startIndex: Int = 0, _ len: Int = Int.max) -> String {
var start = startIndex;
if (start < 0) {
start = self.length + start;
@@ -109,7 +130,7 @@ public extension String {
- returns: 基于指定参数的子字符串。
A substring based on the specified parameters.
*/
- public func substring(startIndex: Int = 0, _ endIndex: Int = 0x7fffffff) -> String {
+ public func substring(startIndex: Int = 0, _ endIndex: Int = Int.max) -> String {
var start = min(startIndex, endIndex) ;
start = max(0, start) ;
start = min(self.length, start) ;
@@ -133,8 +154,10 @@ public extension String {
- returns: 指定子字符串的第一个匹配项的索引,或 -1。
The index of the first occurrence of the specified substring or -1.
*/
- public func indexOf(val: String, startIndex: Int = 0) -> Int{
- let range = self.rangeOfString(val)
+ public func indexOf(val: String, _ startIndex: Int = 0) -> Int {
+ let range = self.rangeOfString(val,
+ options: NSStringCompareOptions(rawValue: 0), range: Range(start: self.startIndex.advancedBy(startIndex), end: self.endIndex)
+ )
if let range = range {
return self.startIndex.distanceTo(range.startIndex)
} else {
@@ -142,6 +165,78 @@ public extension String {
}
}
+ /**
+ 从右向左搜索字符串,并返回在 startIndex 之前找到的最后一个 val 匹配项的索引。
+ 此索引从零开始,这意味着第一个字符位于索引 0 处,最后一个字符位于 string.length - 1 处。
+ 如果未找到 val,则该方法返回 -1。
+ Searches the string from right to left and returns the index of the last
+ occurrence of val found before startIndex. The index is zero-based,
+ meaning that the first character is at index 0, and the last is at string.length - 1.
+ If val is not found, the method returns -1.
+
+ - parameter val: 要搜索的字符串。
+ The string for which to search.
+
+ - parameter startIndex: 一个可选整数,指定开始搜索 val 的起始索引。
+ 默认为允许的最大索引值。如果未指定 startIndex,则从字符串中的最后一项开始搜索。
+ An optional integer specifying the starting index from which to search for val.
+ The default is the maximum value allowed for an index.
+ If startIndex is not specified, the search starts at the last item in the string.
+
+ - returns: 指定子字符串的最后一个匹配项的位置,或 -1(如果未找到)。
+ The position of the last occurrence of the specified substring or -1 if not found.
+ */
+ public func lastIndexOf(val: String, _ startIndex: Int = Int.max) -> Int {
+ let range = self.rangeOfString(val,
+ options: .BackwardsSearch,
+ range: Range(start: self.startIndex, end: self.startIndex.advancedBy(startIndex))
+ )
+ if let range = range {
+ return self.startIndex.distanceTo(range.startIndex)
+ } else {
+ return -1
+ }
+ }
+
+ /**
+ 返回一个字符串,该字符串包括从 startIndex 字符一直到 endIndex 字符(但不包括该字符)之间的所有字符。
+ 不修改原始 String 对象。如果未指定 endIndex 参数,此子字符串的结尾就是该字符串的结尾。
+ 如果按 startIndex 索引到的字符与按 endIndex 索引到的字符相同或位于后者的右侧,则该方法返回一个空字符串。
+ Returns a string that includes the startIndex character and all characters up to,
+ but not including, the endIndex character. The original String object is not modified.
+ If the endIndex parameter is not specified,
+ then the end of the substring is the end of the string.
+ If the character indexed by startIndex is the same as or to the right of
+ the character indexed by endIndex, the method returns an empty string.
+
+ - parameter startIndex: 片段起始点的从 0 开始的索引。如果 startIndex 是一个负数,则从右到左创建片段,
+ 其中 -1 是最后一个字符。
+ The zero-based index of the starting point for the slice.
+ If startIndex is a negative number, the slice is created from right-to-left,
+ where -1 is the last character.
+
+ - parameter endIndex: 一个比片段终点的索引大 1 的整数。由 endIndex 参数索引的字符未包括在已提取的字符串中。
+ 如果 endIndex 是一个负数,则终点根据从字符串的结尾向后数确定,其中 -1 表示最后一个字符。
+ 默认为允许的最大索引值。如果省略此参数,则使用 String.length。
+ An integer that is one greater than the index of the ending point for the slice.
+ The character indexed by the endIndex parameter is not included in the extracted string.
+ If endIndex is a negative number,
+ the ending point is determined by counting back from the end of the string,
+ where -1 is the last character. The default is the maximum value allowed for an index.
+ If this parameter is omitted, String.length is used.
+
+ - returns: 基于指定索引的子字符串。
+ A substring based on the specified indices.
+ */
+ public func slice(startIndex: Int = 0, endIndex: Int = Int.max) -> String {
+ var start = startIndex;
+ var end = endIndex;
+ if (start < 0) {start = length + start}
+ if (end < 0) {end = length + end}
+ if (start > length) {start = length}
+ if (end > length) {end = length}
+ return substring(start, end) ;
+ }
/**
一个整数,它指定在所指定的 String 对象中的字符数。
因为所有字符串索引都是从零开始的,所以任何字符串 x 的最后一个字符的索引都是 x.length - 1。
diff --git a/psd.swift.xcodeproj/project.xcworkspace/xcuserdata/featherJ.xcuserdatad/UserInterfaceState.xcuserstate b/psd.swift.xcodeproj/project.xcworkspace/xcuserdata/featherJ.xcuserdatad/UserInterfaceState.xcuserstate
index d2b642e382ea4410e3099b059ca27c89abb0fe4b..a35b2866797ab7c2f1fc442408b86ab537ed963e 100644
GIT binary patch
literal 116550
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