wkwebview не обнаруживает номера телефонов при загрузке HTML-контента с использованием JavaScript

Swift с 2 по 4

Исходный ответ искал сортировку массива пользовательских объектов с использованием некоторого свойства. Ниже я покажу вам несколько удобных способов сделать то же самое поведение с быстрыми структурами данных!

Мало что уходит в путь, я немного изменил ImageFile. Имея это в виду, я создаю массив с тремя файлами изображений. Обратите внимание, что метаданные являются необязательным значением, проходящим в нуле, поскольку ожидается ожидаемый параметр.

 struct ImageFile {
      var name: String
      var metadata: String?
      var size: Int
    }

    var images: [ImageFile] = [ImageFile(name: "HelloWorld", metadata: nil, size: 256), ImageFile(name: "Traveling Salesmen", metadata: "uh this is huge", size: 1024), ImageFile(name: "Slack", metadata: "what's in this stuff?", size: 2048) ]

ImageFile имеет свойство с именем size. В следующих примерах я покажу вам, как использовать операции сортировки w / properties, такие как размер.

от самого маленького до самого большого размера (& lt;)

    let sizeSmallestSorted = images.sorted { (initial, next) -> Bool in
      return initial.size < next.size
    }

от самого большого до наименьшего (>)

    let sizeBiggestSorted = images.sorted { (initial, next) -> Bool in
      return initial.size > next.size
    }

Далее мы Выделите имя свойства String. Аналогичным образом используйте сортировку для сравнения строк. Но обратите внимание, что внутренний блок возвращает результат сравнения. Этот результат определит sort.

AZ (.orderedAscending)

    let nameAscendingSorted = images.sorted { (initial, next) -> Bool in
      return initial.name.compare(next.name) == .orderedAscending
    }

ZA (.orderedDescending)

    let nameDescendingSorted = images.sorted { (initial, next) -> Bool in
      return initial.name.compare(next.name) == .orderedDescending
    }

Далее мой любимый способ сортировки , во многих случаях у вас будут дополнительные свойства. Теперь не волнуйтесь, мы собираемся сортироваться так же, как и выше, за исключением того, что мы должны обрабатывать ноль! В производстве;

Я использовал этот код, чтобы заставить все экземпляры в моем массиве с последними значениями свойств nil. Затем заказывайте метаданные с использованием предполагаемых разворачиваемых значений.

    let metadataFirst = images.sorted { (initial, next) -> Bool in
      guard initial.metadata != nil else { return true }
      guard next.metadata != nil else { return true }
      return initial.metadata!.compare(next.metadata!) == .orderedAscending
    }

Возможно наличие вторичного сорта для опций. Например; можно показать изображения с метаданными и упорядочить по размеру.

1
задан arige maheswari 5 March 2019 в 05:11
поделиться