読者です 読者をやめる 読者になる 読者になる

ミスターFのいろいろプログラミング

(主にSwift)プログラミング日記。札幌在住。

swiftでリスト構造

Swiftでリスト構造を作ってみました。

Swiftでリスト構造を作る際には、ポインタ(UnsafeMutablePointer)を使う必要はありません。なぜなら、SwiftのArray型は可変長配列であり、新しいデータを増やす際には.appendメソッドを使ってやれば良いからです。

以下、コード

struct WordStruct{
 var eng : String
 var jpn : String
 var imagePath : String
}

class ViewController: UIViewController {

 var list = Array<Array<WordStruct>>(count:26,repeatedValue:
[])

 func addList(strEng:String,strJpn:String,image:String,list:Array<Array<WordStruct>>)->Array<WordStruct>{
  //ハッシュ値を取得
  let hash = getHashNum(strEng)
  //swiftでは引数の配列を変更することはできないので、引数の配列のコピーをとる
  var newList = list[hash]
  //次のデータ領域を確保して、そこに値を入れていく(appendメソッド)
  newList.append(WordStruct(eng: strEng,jpn: strJpn,imagePath: image))
  //コピー配列を渡す
  return newList
 }
 override func viewDidLoad() {
  super.viewDidLoad()
  list[hash] = addList(strEng,,strJpn,image,,list)
 }

}