Swift 4の変換中にこの問題が発生し、Swift 4のエラーまたはバグであるかどうかわからない簡単なテストケースがあります。 「公共」の後の最初のプロパティとして@objc識別子、私はこれが@objc識別子で「期待宣言」エラーになります最初の@objc publicの後にSwift 4でエラーが発生する
import Foundation
class ErrorClass: NSObject
{
public
@objc let myVal = 0
let myOtherVal = 1
}
コンパイルエラーを取得します。しかし、このような2つのプロパティの宣言を逆にすると、すべて正常に動作します。
import Foundation
class ErrorClass: NSObject
{
public
let myOtherVal = 1
@objc let myVal = 0
}
私は公衆の範囲を誤解している可能性があります。迅速に、それは識別子の後の宣言にのみ適用されるのでしょうか、それともC++の後のすべてのスコープですか?前者の場合、2番目のケースで公衆の後に改行が改行されたとして私の問題を説明すると、myOtherValを公開識別子の影響を受けるようにします。
「Swift」には新しいが、「public」とは何ですか?私はそれの後にいくつかの減速が必要だと確信しています! – Siyavash
パブリックとレットの間に改行があると考えてください。だから、@ objcは一般の前にいるべきです。 –
ええ、助けてくれてありがとう、それは公的な範囲がどのように働いたのかについての私の誤解でした。 –