[解決済み] Swift イクエータブルプロトコル
2023-06-02 02:49:34
質問
私はSwiftのチュートリアルを見ていました。 https://www.raywenderlich.com/125311/make-game-like-candy-crush-spritekit-swift-part-1 を追っていたら、このコードに行き当たりました。
func == (lhs: Cookie, rhs: Cookie) -> Bool {
return lhs.column == rhs.column && lhs.row == rhs.row
}
そのとおりに書いたのですが、Xcodeはこのようなエラーを出します。
Consecutive declarations on a line must be separated by ';'
Expected declaration operators are only allowed at global scope
appleのドキュメントにこんなコードがありました。 https://developer.apple.com/documentation/swift/equatable
これは、私が書いたものと非常によく似ています。何が問題なのでしょうか?これは、私にはバグのように思えます。私はXcode 6 Beta 2を使用しています。
EDITです。
これは私のCookieクラスの全体像です。
class Cookie: Printable, Hashable {
var column: Int
var row: Int
let cookieType: CookieType
let sprite: SKSpriteNode?
init(column: Int, row: Int, cookieType: CookieType) {
self.column = column
self.row = row
self.cookieType = cookieType
}
var description: String {
return "type:\(cookieType) square:(\(column),\(row))"
}
var hashValue: Int {
return row * 10 + column
}
func ==(lhs: Cookie, rhs: Cookie) -> Bool {
return lhs.column == rhs.column && lhs.row == rhs.row
}
}
どのように解決するのですか?
この関数を動かす
func == (lhs: Cookie, rhs: Cookie) -> Bool {
return lhs.column == rhs.column && lhs.row == rhs.row
}
Cookieクラスの外側です。2つのCookieで使われるとき、グローバルスコープで==演算子をオーバーライドしているので、この方法は理にかなっています。
関連
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] Swiftでindexとelementでループを反復させる方法
-
[解決済み] SwiftでStringを配列に分割する?
-
[解決済み] Swiftの@selector()?
-
[解決済み] 純粋な」Swift で弱いプロトコル参照を作るには (@objc なしで) どうしたらいいですか?
-
[解決済み] Swiftを使用してアプリのバージョンとビルド番号を取得するにはどうすればよいですか?
-
[解決済み] CocoaPodsの最新バージョンにアップデートしますか?
-
[解決済み] Swiftのプロトコルでオプションのメソッドを定義するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[エラー処理】iOSのエラー、アーキテクチャx86_64の未定義シンボルについて
-
EXC_BAD_ACCESS (code=2, address=0x0)
-
JenkinsがIOSを自動パッケージングしてモミを配布
-
[解決済み] Objective-Cで文字列が空かどうかをテストするにはどうすればよいですか?
-
[解決済み] SwiftでUIAlertViewを作成するにはどうしたらいいですか?
-
[解決済み] テキストフィールドを移動する方法(次へボタン/完了ボタン)
-
[解決済み] NSOperationとGrand Central Dispatchの比較
-
[解決済み] iOS 13でダークモードをオプトアウトすることは可能ですか?
-
[解決済み] UITableView - トップにスクロールする
-
[解決済み] Cocoapods警告 - CocoaPodsがプロジェクトの基本構成を設定しなかった理由は、プロジェクトに既にカスタム構成が設定されているためです。