相关疑难解决方法(0)

删除特定的数组元素,等于字符串 - Swift

如果它等于给定的字符串,是否没有简单的方法从数组中删除特定元素?解决方法是找到要删除的数组元素的索引,然后removeAtIndex创建一个新数组,在该数组中追加所有不等于给定字符串的元素.但是没有更快的方法吗?

arrays iphone elements ios swift

52
推荐指数
4
解决办法
3万
查看次数

Swift 3:在不知道indexPath的情况下从数组中删除特定的字符串?

我有一个UICollectionView有一堆单元格.当我选择这些单元格时,它们会改变颜色,看起来好像已经明确选择了,我将hashtag.hashtag_name(String)附加到我的hashtagsArray.如果我点击一个类别(时尚,食物,爱好或音乐),我会将另一个数组附加到该索引路径,以便为用户提供该特定类别的单元格,如下图所示.

我想要的是,如果我将已经SELECTED的单元格点击为UNSELECT它,那么hashtag.hashtag_name将从我的hashtagArray中删除.问题是,当我将其添加到hashtagArray中时,我添加的数组的indexPath与数组indexPath完全不同,因此我无法通过调用将其删除self.hashtagArray.remove(Int).这是我的代码......

图像示例

import UIKit

class Hashtag: NSObject {

    var hashtag_name: String?
    var hashtag_color: String?
}

import UIKit

private let reuseIdentifier = "Cell"

class HashtagView: UICollectionViewController, UICollectionViewDelegateFlowLayout {

    var hashtagArray: [String] = []

    var categoriesArray = [Hashtag]()

    var fashionArray = [Hashtag]()
    var isFashionSelected: Bool = false
    var fashionArrayCount: [Int] = []

    override func viewDidLoad() {
        super.viewDidLoad()

        self.navigationController?.navigationBar.tintColor = .white
        navigationItem.title = "Hashtag"

        self.collectionView?.backgroundColor = .white
        self.collectionView?.register(HashtagCell.self, forCellWithReuseIdentifier: reuseIdentifier)
        self.collectionView?.contentInset = UIEdgeInsetsMake(10, 0, 0, 0)

        handleFetchCategories()
        handleFetchFashionHashtags()
    }

    func insertCategoryAtIndexPath(element: …
Run Code Online (Sandbox Code Playgroud)

arrays uicollectionview uicollectionviewcell swift swift3

2
推荐指数
1
解决办法
3290
查看次数

在Swift 4中从数组中删除特定对象

我试图从数组保持事件对象中删除特定的Event对象(我自己的类).这是我对数组的声明.

private var positiveEvents : [Event] = []
Run Code Online (Sandbox Code Playgroud)

现在,这是我如何尝试从数组中删除Event对象.此方法(disposeOfflineEvents)每30秒调用一次,因此positiveEvents可能包含某些元素或根本不存在任何元素.

func disposeOfflineEvents() {
    for event in positiveEvents {
        if !event.ongoing {
            positiveEvents.remove(at:  positiveEvents.index(where: { $0 === event })!)
            print("! - Disposing of an event!")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我看到了这个问题,但我使用的是Swift 4,所以我没有索引(of:Event)方法.我当前的解决方案的问题是,当使用"==="检查对象的相等性时,我偶尔会遇到错误:

在此输入图像描述

有没有更好的方法呢?

swift

1
推荐指数
1
解决办法
3398
查看次数