Int в Int в Swift - PullRequest
       23

Int в Int в Swift

0 голосов
/ 26 марта 2020

Я пытаюсь сделать калькулятор в Swift, но у меня есть проблема, я положил все в массив и хочу найти индекс X и /

willBeCountArray.index(of: "x") willBeCountArray.index(of: "/")

массив выглядит так, как и должен, и находит индекс, но записывает его как: ex.

[1, x, 5, +, 4]

willBeCountArray.index (of: "x ") печатается как Необязательный (1)`

-> Я хочу сравнить x и / index, чтобы начать слева. Но это не go в этом формате

ЧТО ДЕЛАТЬ?

1 Ответ

0 голосов
/ 26 марта 2020

Array.index (of :) устарел. Вы должны использовать Array.firstIndex (of:)

Array.firstIndex(of:), возвращающий необязательный Int Int?. Это означает, что он возвращает ноль, если запись не найдена. (необязательный Int никогда не может быть nil и представляет собой другой тип в Swift.

Дополнительные Int должны быть развернуты в Int перед сравнением.

let optionalIdx = array.firstIndex(of: "x")  // Int? can be nil

// Force unwrap.
// Don't do this as it disables compile time checks and can crash at runtime.
let idx = optionalIdx!   // Int cannot be nil. 

// if let unwrap
if let idx = optionalIdx, 
  let otherIdx = array.firstIndex(of: "/") 
{
  // here both idx and otherIdx are found and not nil.
  // You should be able to compare / work with them here.
}
...