Я хочу, чтобы функция возвращала тип, который я могу добавить в новую функцию, но все еще можно распознать как String
(все еще иметь все методы String
и все еще может быть получен любым параметром, которыйполучил String
).
Но когда я пытаюсь получить класс из String
, я получаю эту ошибку:
Наследование от не протокола, не класса типа 'String '
Конечно, вместо этого я могу использовать расширение для расширения существующего String
для добавления этой функции, но я чувствовал, что это загрязнит String
ненужными и не связанными функциями для общего пользования.использовать.
Например, функции, которые я хочу добавить, могут выглядеть следующим образом:
class ImageUrl : String {
func getImage (callback: ((UIImage?)->Void)) { ... }
}
или примерно так:
class Base64 : String {
var image : UIImage { ... }
var data : Data { ... }
var string : String { ... }
}
Что может сбить с толку, если ярасширить эти функции до основного типа String.
Как я могу сделать это в Swift?Или есть ли обходной путь к этому?Спасибо.