У меня есть классSwift 3, настройте оператор равенства = =? (Не равенство, «==»)
public class Thing
как этот
var blah:Thing
blah.name = "text"
мне пришло в голову, что было бы замечательно, если бы я только мог «отменить знак равенства» , когда элемент справа является строкой.
Тогда вы могли бы
var blah:Thing
var x:Thing
blah = "text" // Swift knows I mean blah.name = "text"
blah = x // Swift knows I mean blah becomes x as normal
Я пропускаю что-то очевидное? Как сделать?
Обратите внимание, что вы можете, конечно, взять на себя операцию подстроки, используя public subscript
, что является фантастическим. Можете ли вы взять знак равенства «=» равным?
Вы ищете следующее: [Быстрая инициализация структуры, создающая еще одну структуру типа String] (http://stackoverflow.com/questions/40373776/swift-struct-initialization-making-another-struct-like-string)? - (Но вы не можете переопределить оператор '='.) –
[как перегрузить оператор присваивания в swift] (http://stackoverflow.com/questions/29964177/how-to-overload-an-assignment-operator -в-скор). –
@MartinR - невероятно. Это потрясающе для инициализации !!!! – Fattie