友達の連絡先とテーブルビューを作成しました。
各セルには、ボタンが付いています。
選択したフレンドの配列
に情報を挿入したいのです(配列によって、フレンドのリストにスライドアップするための別の小さなビューを作成しました)。
ボタンをもう一度使用した場合、
選択した友人の配列の友人情報を削除します。
配列に追加する方法を知っていますが、
ですが、インデックスを使用しないで配列 の特定の項目(NSObject)を消去する方法がわかりません。Swift3を使ってArray内の特定のNSObjectを削除する方法
私のソースコードは、あなたがインデックス位置であなたのオブジェクトのインデックス、その後removeアイテムを取得するためにindex(where:)を使用することができます
class FriendModel : NSObject {
dynamic var index : ""
dynamic var thumbnail : ""
dynamic var name : ""
}
とView Controllerクラスで、
var selectedList = [FriendModel]()
@IBAction func SelectAct(_ sender: Any) {
let chooseBtn = sender as! UIButton
let indexPath = NSIndexPath(row: chooseBtn.tag, section:0)
let cell = tableView.cellForRow(at: indexPath as IndexPath) as! FriendsListSendCell
// when selected button is pushed
if chooseBtn.isSelected == true {
chooseBtn.isSelected = false
count = count! - 1
if self.count! < 1 {
self.windowShowUp = false
UIView.animate(withDuration: 0.1, delay: 0.1, options: [], animations:{self.selectedBoard.center.y += 80 }, completion: nil)
self.checkNumLabel.text = ""
}else{
}
//////////////////////////here////////////////////////////
//////////////////how to erase the FriendModel(NSObject) in selectedList.
}
//when the unselected button is pushed
else {
//instance for append the friend info
let friendInfo = FriendModel()
chooseBtn.isSelected = true
count = count! + 1
friendInfo.thumbnail = cell.thumbnail
friendInfo.name = cell.nameLabel.text!
//add friend info to selectedList
self.selectedList.append(friendInfo)
print("\(self.selectedList)")
if self.windowShowUp! == false{
self.windowShowUp = true
UIView.animate(withDuration: 0.1, delay: 0.1, options: [], animations:{self.selectedBoard.center.y -= 80 }, completion: nil)
}else{
}
}
}
投稿を特定の質問で更新できますか? –
@BenjaminLowry私はそれを編集しました!ありがとう – kimpro
FriendInfoに一意の識別子も保存する必要があります。それ以外の場合は、@ MirekEのソリューション)を検索し、後で何か選択したリストで行うことはできません。 – muescha