flyingbirdのiPhoneアプリ開発記録

- PolyRhythmの中の人がiPhoneアプリ開発中に思ったことを記録するブログです -

【Swift3】NSMutableArrayのremoveObject:について

Objective-Cで使ってた、NSMutableArrayのremoveObject:。オブジェクト指定で、
配列からそのオブジェクトを削除する奴。Swift3のArrayでやるにはどうやったら良いんだろうか。
下みたいにやんなきゃいけないのかな〜〜。
マジ疲れる

func print(hoges: [Hoge]) {
	for each in hoges {
		print(each.hoge, terminator: "")
	}
	print()
}

class Hoge {
	var hoge: String
	init(_ hoge: String) {
		self.hoge = hoge
	}
}


let a = Hoge("a")
let b = Hoge("b")
let c = Hoge("c")
let d = Hoge("d")
let e = Hoge("e")
let f = Hoge("f")

var hoges = [a, b, c, d, e]

print(hoges: hoges)
// abcde

// ココから
let index = hoges.index(where: {(each) in
	return (each as AnyObject) === (c as AnyObject)
})

if nil != index {
	hoges.remove(at: index!)
}
// ココまで

print(hoges: hoges)
// abde