Array Programming Guide
来源:互联网 发布:光盘刻录软件有哪些 编辑:程序博客网 时间:2024/05/21 11:13
Array是Swift针对有序集合的操作类。你可以随机访问Array任何位置上的元素,在Array中你还可以存储相同的元素在不同的位置。本文介绍了在编辑过程中关于Array的常用操作,其结构如下所示。
初始化
// MARK: 初始化private func testCreating() { // 空数组 var array = [Int]() array = [] array = Array<Int>() // 有元素的数值 array = [Int](count: 3, repeatedValue: 0) array = [0, 0, 0] print("\(array)")}
查询相关信息
// MARK: - 查询private func testQuerying() { var array = ["阳君", "937447974", "swift"] print("contains:\(array.contains("阳君"))") // 是否存在这个元素 print("count:\(array.count)") // 有多少个元素 print("capacity:\(array.capacity)") // 有多少个元素 print("startIndex:\(array.startIndex)") // 首坐标 print("endIndex:\(array.endIndex)") // 尾脚标 print("first:\(array.first)") // 首元素 print("last:\(array.last)") // 尾元素 print("isEmpty:\(array.isEmpty)") // 是否为空 // 获取指定位置的元素 var temp = (array as NSArray).objectAtIndex(0) temp = array[0] print("\(temp)") // 获取多个元素 // oc获取 let nRange : NSRange = NSMakeRange(0, 3) let nIndexSet = NSIndexSet(indexesInRange: nRange) let ocArray = (array as NSArray).objectsAtIndexes(nIndexSet) print("\(ocArray)") // swift获取 let range = Range(start: 0, end: 3) let sArray = array[range] print("\(sArray)") // 遍历 // 只获取元素 for item in array { print(item) } // 遍历元素和所处的位置 for (index, value) in array.enumerate() { print("\(index):\(value)") }}
查找元素位置
// MARK: 查找元素位置private func testFindingObjects() { let array = ["阳君", "937447974", "swift"] // 查找元素 var index = array.indexOf("swift") // closures查找 index = array.indexOf { (str:String) -> Bool in if str == "swift" { return true } return false } // 简写 index = array.indexOf{ str in return str == "swift" } index = array.indexOf{ str in str == "swift" } index = array.indexOf{ $0 == "swift"} print("index:\(index)")}
增加元素
// MARK: 增加元素private func testAdding() { var array = [String]() // 增加一个 array.append("阳君") array += ["阳君"] // 增加多个 array.appendContentsOf(["937447974", "swift"]) array += ["937447974", "swift"] // 插入 array.insert("937447974", atIndex: 0) // 插入多个 array.insertContentsOf(["937447974", "swift"], at: 0)}
删除元素
// MARK: 删除元素private func testRemoving() { var array = ["阳君", "937447974", "swift"] array = array + array + array + array var temp = array.removeFirst() // 删除首个元素,并返回删除的元素 array.removeFirst(2) // 删除前两个元素 temp = array.removeLast() // 删除最后两个元素 temp = array.removeAtIndex(0)// 删除指定位置的元素 array.removeRange(Range(start: 0, end: array.endIndex)) // 删除指定范围的元素 array.removeAll() // 删除所有元素 print("\(temp)")}
替换元素
// MARK: 替换元素private func testReplacing() { var array = ["阳君", "937447974", "swift", "IOS"] array[1] = "YangJ" // 替换指定位置的元素 // 替换指定范围的元素 array[1...3] = ["a", "b"] let subRange: Range<Int> = Range(start: 1, end: array.endIndex) array.replaceRange(subRange, with: ["c","d","e"])}
排序
// MARK: 排序private func testSorting() { var array = ["阳君", "937447974", "swift", "IOS"] array = array.sort() // 自定义排序 func backwards(s1: String, _ s2: String) -> Bool { return s1 > s2 } array = array.sort(backwards) // 简写 array = array.sort({ (s1: String, s2: String) -> Bool in return s1 > s2 }) array = array.sort(<)}
文件读和写
// MARK: - 文件读和写private func testReadingAndWriting() { // Document目录 let documents:[String] = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true) let docDirPath = documents.first! let path = (docDirPath as NSString).stringByAppendingPathComponent("test.plist") let url = NSURL(fileURLWithPath: path) var array = ["阳君", "937447974", "swift", "IOS"] // 写 (array as NSArray).writeToFile(path, atomically: true) (array as NSArray).writeToURL(url, atomically: true) // 读 array = NSArray(contentsOfFile: path) as! Array array = NSArray(contentsOfURL: url) as! Array}
其他
参考资料
Array Structure Reference
The Swift Programming Language (Swift 2.1)
NSArray Class Reference
文档修改记录
版权所有:http://blog.csdn.net/y550918116j
0 0
- Array Programming Guide
- OpenGL ES2.0 Programming Guide - chapter 6:Vertex attributes, vertex array and buffer objects
- Pango programming guide
- GtkHTML programming guide
- Eclipse Forms Programming Guide
- ACE Programming GUIDE
- Multimedia Application Programming Guide
- Multimedia Application Programming Guide
- SAX2 Programming Guide
- OpenGL Programming Guide
- MiniGUI Programming Guide
- Casting (C# Programming Guide)
- Spark Programming Guide
- libvirt programming guide
- cocos3d Programming Guide
- OpenGL Programming Guide
- Core Image Programming Guide
- Sprite Kit Programming Guide
- word vba遍历文件,打开另外word修改保存
- 乱乱
- Java之网络爬虫WebCollector+selenium+phantomjs(一)
- OC类的三大特性:继承,封装和多态
- Python---类的"__new__"和"__init__"方法
- Array Programming Guide
- 51nod 1082 与7无关的数 (打表)
- sqlplus使用小技巧
- MFC下拉列表数据顺序乱排解决方法
- 设定linux开机后和关机前执行的命令
- LA 3983 捡垃圾的机器人
- Python 简单教程
- javascript面向对象实现java常用的1StringBuffer,Map,Collection,List,Set
- poj 1068 Parencodings 模拟