Swift可変配列
Objective-Cは、可変配列(NSArray)と可変配列(NSMutableArray)を区別する2つの異なるクラスを記述しています.
Swiftは定数と変数を用いて可変配列と可変配列を区別する.
配列を定数として定義すると、次のような可変配列になります.
配列を変数として定義します.これは、次のような可変配列です.
Swiftの可変配列と可変配列の性質はObjective-Cとほぼ同じであることから,筆者の別文:『NSArrayとNSMutableArrayのcopyとMutableCopy』
したがって、可変配列は配列自体を変更することはできない(すなわち、配列のサイズを変更したりappend,removeを使用したりするなど、配列レベルで変更することはできない)が、配列内の要素を変更することはできる:
実行結果:
ここでは、Swift文字列Stringタイプが値タイプであることを検証する実験を行うことができます.
実行結果:
転載先:https://www.cnblogs.com/KardelXiao/p/5888767.html
Swiftは定数と変数を用いて可変配列と可変配列を区別する.
配列を定数として定義すると、次のような可変配列になります.
let constantArray = ["a", "b", "c", "d"]
配列を変数として定義します.これは、次のような可変配列です.
var mutableArray = ["e", "f", "g", "h", "i"]
Swiftの可変配列と可変配列の性質はObjective-Cとほぼ同じであることから,筆者の別文:『NSArrayとNSMutableArrayのcopyとMutableCopy』
したがって、可変配列は配列自体を変更することはできない(すなわち、配列のサイズを変更したりappend,removeを使用したりするなど、配列レベルで変更することはできない)が、配列内の要素を変更することはできる:
class classA { // classA
var aString: String //classA aString
init(str: String) { //
aString = str
}
}
var b: classA = classA(str:"b"); // 3 classA b,c,d
var c: classA = classA(str:"c");
var d: classA = classA(str:"d");
let classAs = [b, c, d] // b,c,d
var f = classAs[1] // f , classA c
print(classAs[1].aString) // c
f.aString = "eeee" // f
print(classAs[1].aString) // c
実行結果:
c
eeee
ここでは、Swift文字列Stringタイプが値タイプであることを検証する実験を行うことができます.
let intArray = [1, 7, 100, 101, -9, 0]
var myInt = intArray[4]
print(intArray[4])
myInt = 10000000
print(intArray[4]) //Int ,
let stringArray = ["str1", "str2", "str3", "str4"] //
var myStr = stringArray[2] // myStr , "str3"
print(stringArray[2]) // str3
myStr = "anotherString" // myStr
print(stringArray[2]) // str3
実行結果:
-9
-9
str3
str3
転載先:https://www.cnblogs.com/KardelXiao/p/5888767.html