【发布时间】:2018-10-28 19:09:39
【问题描述】:
刚开始学习 swift,花了几个小时试图通过在这里搜索来解决这个问题,但到目前为止没有运气。
我有一个数组,像这样创建的:
class ProbabilitiesClass {
var list = [Odds]()
init() {
list.append(Odds(dateInit: -35, oddsTodayInit: "0,01", sevenDaysInit: "0,2"))
list.append(Odds(dateInit: -34, oddsTodayInit: "0,01", sevenDaysInit: "0,3"))
list.append(Odds(dateInit: -33, oddsTodayInit: "0,02", sevenDaysInit: "0,4"))
我想在这个数组的第一个参数中搜索一个整数并返回它的索引。
试过了
if let i = Odds.firstIndex(where: { $0.hasPrefix(differenceInDays) }) {
print("index is \([i])")
}
返回错误:
类型“赔率”没有成员“firstIndex”
最终目标是返回该索引的第二个和第三个参数。
更新:我这样定义赔率:
import Foundation
class Odds {
let dateText : Int
let oddsToday : String
let odds7Days : String
init(dateInit: Int, oddsTodayInit: String, sevenDaysInit : String) {
dateText = dateInit
oddsToday = oddsTodayInit
odds7Days = sevenDaysInit
}
}
【问题讨论】:
-
你想要
list.firstIndex。但是$0将是对Odds实例的引用。 -
谢谢,现在试试。所以它不完全是我创建的数组,它是一个列表吗?
-
它是一个数组。并且变量的名字是
list。 -
听起来您应该花一些时间阅读 Swift 书的 Collection Types 章节(连同本书的其余部分)。
-
我不明白你想要达到什么目的?您想要具有特定前缀的元素索引吗?