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

在 Swift 中,所有的基本类型:整数(Integer)、浮点数(floating-point)、布尔值(Boolean)、字符串(string)、数组(array)和字典(dictionary),都是值类型,并且在底层都是以结构体的形式所实现。类是引用类型。

1.测试数组是否为值类型

var testArray = [String]()

testArray.append("AA")
testArray.append("BB")
testArray.append("CC")

var testArray2 = testArray

print("testArray:\(testArray)")
print("testArray2:\(testArray2)")

testArray2.removeAll()
print("removeAll操作完成之后----")

print("testArray:\(testArray)")
print("testArray2:\(testArray2)")

结果截图:

2.测试字典是否为值类型

var testDic = [String: String]()

testDic.updateValue("AA", forKey: "11")
testDic.updateValue("BB", forKey: "22")
testDic.updateValue("CC", forKey: "33")
testDic.updateValue("DD", forKey: "44")

print("testDic:\(testDic)")

var testDic2 = testDic

print("testDic2:\(testDic2)")

testDic2.removeAll()

print("removeAll操作完成之后-----")

print("testDic2:\(testDic2)")
print("testDic:\(testDic)")

结果截图:

3.测试类是否为引用类型

class Person {
    var name: String?
    var age: Int = 20

    func sayHello() {
        print("Hello, My name is \(name), My age is \(age)")
    }

}

var p1 = Person()
var p2 = p1

print("p1:\(p1)")
print("p2:\(p2)")

//sayHello
print("sayHello:")
p1.sayHello()
p2.sayHello()

//修改p1的名字
print("修改p1的name:")
p1.name = "Zhang San"

p1.sayHello()
p2.sayHello()

测试截图:

时间: 2024-12-23 22:48:10

Swift中数组和字典都是值类型的相关文章

swift中数组和字典得使用,及循环得使用方法(xcode6版本上所写代码)

// // main.swift // 数组 // // Created by Mac on 15-9-9. // Copyright (c) 2015年 青苹果. All rights reserved. // import Foundation //不可变数组,用let定义即可 var array:[String] = ["ss","set","jim"] println("\(array)") var array1:[F

Swift 之数组与字典

http://www.cocoachina.com/swift/20151230/14802.html 说到数组和字典,只要是编过程的小伙伴并不陌生.在Swift中的数组与字典也有着一些让人眼前一亮的特性,今天的博客就来窥探一下Swift中的Array和Dictionary.还是沿袭之前的风格,在介绍Swift中的数组时,我们会对比一下ObjC中的数组和字典,因为ObjC也是iOS开发的主要语言不是.无论是简单还是复杂的程序,数组和字典的用处还是比较多的,这两者虽然是Swift的基础内容,但是也

swift的数组和字典使用

// //  ViewController.swift //  swift基本语法004 // //  Created by Ninesday on 16/6/22. //  Copyright © 2016年 Ninesday. All rights reserved. // import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() //   

将一个字典内的内value转换为集合:返回一个数组,此数组中包含输入字典的键值对中的数组的所有元素(为NSArray添加category)

- (NSArray *)testa:(NSDictionary *)dic { NSMutableArray *arr_M = [NSMutableArray array]; // 1.遍历每一个元素添加到集合 for (NSString *key in dic.allKeys) { for (NSString *str in dic[key]) { [arr_M addObject:str]; } } return arr_M; } - (NSArray *)testb:(NSDiction

[转] Javascript中数组与字典(即map)的使用

简述: 简单记录一下数据结构Map和数组, 其实在Javascript这种弱类型的脚本语言中,数组同时也就是字典,下面主要就是字典数组的简易使用 代码: 1. 数组中添加map [html] view plaincopy <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> &l

Swift中数组集合-b

数组(Array)是一串有序的由相同类型元素构成的集合.数组中的集合元素是有序的,可以重复出现. 声明一个Array类型的时候可以使用下面的语句之一. var studentList1:Array<String> var studentList2: [String] 声明的Array还不能用,还需要进行初始化,Array类型往往在声明的同时进行初始化.示例代码如下: var studentList1:Array<String> = ["张三","李四&

Swift 2.0学习笔记(Day 17)——Swift中数组集合

原创文章,欢迎转载.转载请注明:关东升的博客 数组(Array)是一串有序的由相同类型元素构成的集合.数组中的集合元素是有序的,可以重复出现. 声明一个Array类型的时候可以使用下面的语句之一. var studentList1: Array<String> var studentList2: [String] 声明的Array还不能用,还需要进行初始化,Array类型往往在声明的同时进行初始化.示例代码如下: var studentList1: Array<String> =

ios 中 数组、字典转成json格式上传到后台,遇到的问题

项目需求需要传json格式到后台 字典转成JSON p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000; min-height: 21.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0

《从零开始学Swift》学习笔记(Day 17)——Swift中数组集合

原创文章,欢迎转载.转载请注明:关东升的博客 数组(Array)是一串有序的由相同类型元素构成的集合.数组中的集合元素是有序的,可以重复出现. 声明一个Array类型的时候可以使用下面的语句之一. var studentList1:Array<String>    var studentList2: [String] 声明的Array还不能用,还需要进行初始化 ,Array类型往往在声明的同时进行初始化.示例代码如下: var studentList1:Array<String>