Swift中的数组

学习来自《极客学院:Swift中的字符串和集合》

工具:Xcode6.4

直接上基础的示例代码,多敲多体会就会有收获:百看不如一敲,一敲就会

 1 import Foundation
 2
 3
 4 //数组:1、数组创建 2、访问和修改数组
 5
 6 /*声明数组写法:
 7 第一种:Array<SomeType>, 如Array<Int>
 8 第二种:[SomeType],如[String]
 9 */
10 //第一种
11 var myArr = Array<String>()//创建空数组,并赋值给myArr变量
12 println(myArr)
13 var num = Array<Int>(count: 3, repeatedValue: 1)
14 println(num)
15 //第二种
16 var arr: [Int] = [1,2,3]
17
18 //使用构造语法来创建一个由特定数据类型构成的空数组
19 var someInts = [Int]()
20 var threeDoubles = [Double](count: 3, repeatedValue: 1.2)
21 var food =  ["apple","orange","tomato","potato"]//这种方式用的比较多
22 println(food.count)
23 println(food[3])
24
25
26 var shoppingList = ["Eggs",123,true]
27 //因为数组存储的类型不同,当访问每个元素的时候,swift会默认推断为AnyObject类型
28 for item in shoppingList{
29     println(item)
30 }
31
32 /*下面的程序代码会报错,是因为这里的fruit是默认为let型的
33 for fruit in food{
34     fruit = "good"
35     println(fruit)
36 }
37 */
38 /*****数组的可变性*****/
39 //1.append() 方法在数组尾部添加新元素
40 food.append("Vegetables: mushroom")
41 //2.通过加法添加元素数组
42 food += ["pineapple","pitaya"]
43 println(food)
44 //3.替换,指定替换的下标范围,然后是给出的替换元素,
45 //也存在元素不够,不够的就变成数组少了元素,这里不是仅仅编程空元素,而是没了
46 food[1...3] = ["A","B"]
47 println(food)
48
49 /*****数组的常用的方法*****/
50 food.insert("Meat", atIndex: 2)//插入的对象和位置
51 println(food)
52 //使用removeAtIndex方法来移除数组中的某一项
53 food.removeAtIndex(4)
54 println(food)
55 //使用removeLast方法删除最后一个元素
56 food.removeLast()
57 println(food)
58 //删除所有元素,参数为是否保留数据缓冲,默认是false
59 food.removeAll(keepCapacity: false)
60 println(food)

运行的结果是:

时间: 2024-10-10 00:14:09

Swift中的数组的相关文章

Swift中实现Array数组和NSArray数组的相互转换与遍历

Array是Swift中的数组数据类型.而NSArray是OC中的数组数据类型.两者有差别有联系.在Swift中有时候难免会使用到OC中的一些东西.今天我们就来Swift中使用NSArray和Array,而且进行转化. (1)声明一个Array数组.并进行遍历.代码例如以下: let stringArray: Array<String> = ["10", "20","30","40","50"]

swift中的字符串的一些运用

在字符串里插值 var str = "hello" let i = 6 var str2 = "hello \(i)" 累加字符串 var str = "hello" let i = 6 var str+= "hello \(i)" 用函数插入单个值字符 var aaa = "fdasf" aaa.insert("c", atIndex: aaa.startIndex) 用函数插入多个字

记OC迁移至swift中笔记20tips

写久了OC后来写swift,总感觉写着是swift的皮毛,但是实际上是OC的核心,这里整理了OC迁移至swift中的一些小细节. 1 在当前类中,实例方法调用属性以及方法都可以将self省略掉,而且是建议省略 2 selector是调用方法写法是:Selector("sayHello")或者是#selector(sayHello) 3 swift中不同类型的值之间不能直接做运算,所以不同类型值做运算的时候需要对值进行类型转化,都转化至同一类型之后方可做运算 4 可选类型如果一个变量可能

Swift中关于任意类型的数组

在Objc中你是不可以把一个非对象类型放入数组的,你必须将其"封箱",然后再放入数组. 在Swift中你可将非对象类型轻松放入数组: let ary = [1,2,3] 你可以明确指定元素类型: let ary:[Int] = [1,2,3] 不过你不可以在一个数组中包括不同类型的元素,除非你使用AnyObject类型: class Foo{ } let ary:[AnyObject] = [1,"String",Foo(),12.22] 不过现在问题又来了,如果我

Swift 中 String 与 CChar 数组的转换

在现阶段Swift的编码中,我们还是有很多场景需要调用一些C函数.在Swift与C的混编中,经常遇到的一个问题就是需要在两者中互相转换字符串.在C语言中,字符串通常是用一个char数组来表示,在Swift中,是用CChar数组来表示.从CChar的定义可以看到,其实际上是一个Int8类型,如下所示: 1 2 3 4 5 /// The C 'char' type. /// /// This will be the same as either `CSignedChar` (in the comm

Swift中数组和字典都是值类型

在 Swift 中,所有的基本类型:整数(Integer).浮点数(floating-point).布尔值(Boolean).字符串(string).数组(array)和字典(dictionary),都是值类型,并且在底层都是以结构体的形式所实现.类是引用类型. 1.测试数组是否为值类型 var testArray = [String]() testArray.append("AA") testArray.append("BB") testArray.append(

Swift中对C语言接口缓存的使用以及数组、字符串转为指针类型的方法

由于Swift编程语言属于上层编程语言,而Swift中由于为了低层的高性能计算接口,所以往往需要C语言中的指针类型,由此,在Swift编程语言刚诞生的时候就有了UnsafePointer与UnsafeMutablePointer类型,分别对应为const Type*类型与Type *类型. 而在Swift编程语言中,由于一般数组(Array)对象都无法直接用于C语言中含有指针类型的函数参数(比如:void*),所以往往需要将数组转为指针类型,此外也需要将数组中元素内容存放到连续的存储空间.此外,

在Swift中使用遗留的C API

Swift的类型系统的设计目的在于简化我们的生活,为此它强制用户遵守严格的代码规范来达到这一点.毫无疑问这是一件大好事,它鼓励程序员们编写 更好更正确的代码.然而,当Swift与历史遗留的代码库.特别是C语言库进行交互时,问题出现了.我们需要面对的现实是许多C语言库滥用类型,以至于它 们对Swift的编译器并不友好.苹果的Swift团队的确花了不少功夫来支持C的一些基础特性,比如C字符串.但当在Swift中使用历史遗留的C语言 库时,我们还是会面临一些问题.下面我们就来解决这些问题. 在开始之前

Swift Explore - 关于 Swift 中的 isEqual 的一点探索

在我们进行 App 开发的时候,经常会用到的一个操作就是判断两个对象是否相等.比如两个字符串是否相等.而所谓的 相等 有着两层含义.一个是值相等,还有一个是引用相等.如果熟悉 Objective-C 开发的话,就会知道 Objective-C 为我们提供了一系列 isEqual: 方法来判断值相等,而 == 等于号用来判断引用相等. 我们来看一个 Objective-C 的例子就会更加明白了: NSArray *arr1 = @[@"cat",@"hat",@&qu