ごめんなさい、どうやら僕の理解が不正確でした。 ObjCとは違い、Swiftのプロパティは単なる定数をインスタンス変数として持つStored propertyと、他のプロパティに対するアクセスを隠蔽…
ObjCの時代から、self.hogeはgetHoge相当で、hogeが直接プロパティへのアクセスだった気がするので、 self.counter を `counter` にすれば良いのではなかろうか