我有一个班级
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
我错过了一些明显的东西吗?怎么办?
请注意,您当然可以使用,接管下标操作
<a>
太棒了。你能接管“=”等号吗?
答案 0 :(得分:4)
You can't override the =
operator in Swift:
注意强>
令牌
=
,->
,//
,/*
,*/
,.
,前缀运算符<
,&
和?
中缀运算符?
,后缀运算符>
,!
和?
是保留的。 这些令牌不能超载,也不能用作自定义 运算符。
它可以在C ++中完成,主要是由于需要手动内存管理。感谢ARC,这在Swift中是不必要的,它只会为你的代码添加不必要的烟雾和镜像,带来各种令人困惑的隐含行为。