相关疑难解决方法(0)

如何检查元素是否在数组中

在Swift中,如何检查数组中是否存在元素?Xcode中没有任何建议contain,includehas和经书的快速搜索却一无所获.知道怎么检查这个吗?我知道有一个方法find可以返回索引号,但是有一个方法可以返回像ruby这样的布尔值#include?吗?

我需要的例子:

var elements = [1,2,3,4,5]
if elements.contains(5) {
  //do something
}
Run Code Online (Sandbox Code Playgroud)

arrays swift

451
推荐指数
11
解决办法
35万
查看次数

如何在Swift中找到项目的索引?

有没有一种名为indexof或类似的方法?

var array = ["Jason", "Charles", "David"]

indexOf(array, "Jason") // Should return 0
Run Code Online (Sandbox Code Playgroud)

swift

33
推荐指数
3
解决办法
7万
查看次数

我该如何做indexOfObject或一个合适的containsObject

对于数组:我该怎么做indexOfObject或正确的containsObject

我的意思是我知道我可以将数组桥接到NSArray那里并在那里做^^
但是必须有一种"原生"方式来做到这一点

PS containsObject我想我可以过滤数组但是对于indexOf

arrays ios swift

20
推荐指数
2
解决办法
2万
查看次数

自动滚动到具有特定值的单元格

我在这个表格视图中有一个数字列表.

在此输入图像描述

如您所见,数字会重复出现.让我们将一组重复的数字视为一.所以有1组,2组等等.

我想要做的是当应用程序启动时,我需要自动滚动到指定组的开始位置.在进一步解释之前,这是我的代码到目前为止.

import UIKit

class TableViewController: UITableViewController, UITableViewDataSource, UITableViewDelegate {

    private var scrollToTime = true
    private var items = [Int]()
    private var groupNoToScroll = 12

    override func viewDidLoad() {
        super.viewDidLoad()

        items = [1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 4, 5, 5, 6, 7, 7, 8, 8, 8, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17, 18, …
Run Code Online (Sandbox Code Playgroud)

scroll uitableview autoscroll ios swift

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

查找对象数组的索引

我无法弄清楚如何在数组中找到对象的索引.例如,我有这个数据结构:

class Person {
var name: String
var age: Int

init(name personName: String, age personAge: Int) {
    self.name = personName
    self.age = personAge
  }
}

let person1 = Person(name: "person1", age: 34)
let person2 = Person(name: "person2", age: 30)
...
var personsArray = [person1, person2, ...]
Run Code Online (Sandbox Code Playgroud)

我尝试使用,personsArray.index(where: ....)但我不明白如何使用它.index(of: ...)不起作用.我认为因为personsArray不符合Equatable协议......

arrays ios swift

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

在数组中查找自定义对象索引

我有一个自定义对象数组,ServicedidSelectRow我填充我选择的该对象数组:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    if let cell = tableView.cellForRowAtIndexPath(indexPath) {
        let services:[Service] = self.menu[indexPath.section].services
        self.selectedServices.append(services[indexPath.row])
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是我无法弄清楚如何从didDeselectRow中检索它:

func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
    if let cell = tableView.cellForRowAtIndexPath(indexPath) {
        cell.accessoryType = .None
        let services = self.menu[indexPath.section].services
        let service = services[indexPath.row]
        //how can I found the index position of service inside selectedServices?

    }

}
Run Code Online (Sandbox Code Playgroud)

arrays ios swift

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

如何获取 swift 5 中对象数组中存在的值的索引?

我有对象数组并尝试获取具有特定值的对象的索引

对于前。对于简单的数组,我们可以使用以下方法来实现

var numbers = [1, 2, 3, 4, 5]
let get3 = exchangeRateList.firstIndex(of: 3). // result 2
Run Code Online (Sandbox Code Playgroud)

如何对具有对象的数组实现相同的效果(例如,获取具有 id 3 的对象的索引)

 var objarray = [Name]()
        objarray.append(Name(id: 1, name: "Nuibb"))
        objarray.append(Name(id: 2, name: "Smith"))
        objarray.append(Name(id: 3, name: "Pollock"))
        objarray.append(Name(id: 4, name: "James"))
        objarray.append(Name(id: 5, name: "Farni"))
        objarray.append(Name(id: 6, name: "Kuni"))
Run Code Online (Sandbox Code Playgroud)

ios swift

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

如何在数组中找到Int元素的索引?

这样做有"更好"(不那么冗长)的方式吗?

var found: Int?  
for i in 0...myArray-1 {
    if myArray[i] == 3 {
        found = i
    }
}
Run Code Online (Sandbox Code Playgroud)

相近

let i = find(myArray, "1")
Run Code Online (Sandbox Code Playgroud)

但对于Int?

这个问题与如何在Apple的swift中找到列表项的索引略有"不同" 因为它直接解决了Int的find函数,而不是String.当然,唯一的区别是标题,并指出你可以删除引号来获得Int.

ios swift

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

viewControllers在swift中的indexOfObject

我有这个Objective-c方法,我正在尝试重写swift.

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    int index = [navigationController.viewControllers indexOfObject:viewController];
    self.pageControl.currentPage = index;
}
Run Code Online (Sandbox Code Playgroud)

我在使用swift编写这一行时遇到了困难:

int index = [navigationController.viewControllers indexOfObject:viewController];
Run Code Online (Sandbox Code Playgroud)

我如何访问IndexOfObject?

indexof ios swift

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

如何获取二维数组中某个项目的索引?

如果我有一个数组:

let array = [
        ["Hamburger", "Nachos", "Lasagne"],
        ["Tomatoes", "Apples", "Oranges"],
        ["Soda", "Juice", "Water"]
    ]    
Run Code Online (Sandbox Code Playgroud)

例如“Apples”的索引是什么?有没有办法以编程方式获取它?

arrays swift

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

标签 统计

swift ×10

ios ×7

arrays ×5

autoscroll ×1

indexof ×1

scroll ×1

uitableview ×1