【问题标题】:How to get a expected result by comparing array using a specific value如何通过使用特定值比较数组来获得预期结果
【发布时间】:2017-08-30 07:36:01
【问题描述】:

假设我有一些存储对象名称的类,它定义了项目中的每个对象

let arrays = [“obj1”, “obj2”, “obj3”, “obj4”]

所以我有另一个类用于接收来自视图控制器的输入 它返回一个引用 obj1, obj2, obj3, obj4 的“Int”让我们假设它为 1 2 3 4 分别调用一个数组

struct getIndex {
    let objIndex: Int
}

在视图控制器中我需要打印数组中的一个项目

即名称:obj1 等。

但是由于视图控制器返回 1 2 3 4 引用数组中的每个项目 所以我希望 if 条件只打印想要的项目,即。 obj1 和 3 不是 obj2 和 obj4

即。如果视图控制器返回 2 或 4,它不会做任何事情

但如果它返回 1 或 3,它将调用 obj1 和 3 并按预期打印

类似

if someclass.getindex == something I don't know for obj1 and 3 {
    print(String(format: "%@", objectName)
}

【问题讨论】:

  • "如果条件行返回错误" 什么错误?您正在将 Int 与 String 数组进行比较?
  • 什么是一些类?它是一个对象吗?请添加更多代码。
  • @Larme no 实际上,我想要在 viewController 中的 value1 从另一个“Int”函数获取值时仅打印数组编号的条件。 1 和 3 不是 2 即。打印 0001 和 0003,即使另一个函数为 2 号字符串返回“Int”
  • @RomanPodymov 是的,它用于存储值以调用另一个类的数组
  • @JameS 真的很难理解你需要解决什么问题。请添加更多代码。我们将检查您的完整代码。

标签: ios arrays swift if-statement


【解决方案1】:

我认为这是您正在寻找的东西:

if ["0001", "0003"].map{Int($0)!}.contains(someclass.value1) {
    print(someclass.value1)
    print(someclass.value2)
}

我确信有更好的方法可以解决您的潜在问题...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多