[解決済み] 新しい Swift クラスの void 関数で予期しない非 void の戻り値が発生する。
2022-02-04 15:03:02
質問
私はオブジェクト指向について学び始めたばかりで、あるオブジェクトからのユーザーの距離を計算するメソッドを持つユーザークラスを書き始めました。 それは次のようなものです。
class User{
var searchRadius = Int()
var favorites : [String] = []
var photo = String()
var currentLocation = CLLocation()
func calculateDistance(location: CLLocation){
let distance = self.currentLocation.distanceFromLocation(location)*0.000621371
return distance //Error returns on this line
}
}
上記でマークした行で、以下のエラーが発生します。
(!) Unexpected non-void return value in void function
解決策を他で探しましたが、このインスタンスに該当するものが見つからないようです。 他の場所でdistanceFromLocationのコードを使用したところ、問題なく動作したので、この場合の使用方法について何が違うのかよくわかりません。
よろしくお願いします。
解決方法は?
メソッドのヘッダーに戻り値の型がありません。
func calculateDistance(location: CLLocation) -> CLLocationDistance {
どうやら私の回答は劣悪な重複のようなので、少し補足します。
戻り値のない関数(この場合はメソッドも含む)はvoid関数と呼ばれるからです。
func f() {
//...
}
は等価である。
func f() -> Void {
//...
}
通常、このようなvoid関数から値を返すことはできません。
しかし、Swiftでは、1つの値("value"として呼び出せるかどうかわからない)、"void value" で表されるものを返すことができます。
()
.
func f() {
//...
return () //<- No error here.
}
これで、エラーメッセージの意味を理解することができます。
<ブロッククオートvoid関数で予期しない非void戻り値
戻り値を変更するか、戻り値の型を変更する必要があります。
Void
を他の型に変更してください。
関連
-
[解決済み】Xcode - 'NSUnknownKeyException', reason: ... this class is not key value coding-compliant for the key X" エラーの修正方法とは?
-
[解決済み] Xcode は、[バンドル ID] に一致する iOS App Store プロビジョニングプロファイルを見つけられませんでした。
-
[解決済み] シミュレーターiOS 13でダークモードを使用するには?
-
[解決済み] CFNetwork SSLHandshakeに失敗しました(-9824) NSURLSession/NSURLConnection HTTPのロードに失敗しました(kCFStreamErrorDomainSSL, -9824)
-
[解決済み] このアクションは完了できませんでした。再試行 (-22421)
-
[解決済み] ERROR ITMS-9000: "Redundant Binary Upload. 列車 '1.0' のビルドバージョン '1.0' のバイナリアップロードが既に存在します" と表示されました。
-
[解決済み] CocoaPodsでポッド「Firebase/Core」の互換バージョンが見つからなかった|cloud_firestore, Flutter
-
[解決済み] ナビゲーションアイテムのタイトルカラーを変更する方法
-
[解決済み] Swift カスタムオブジェクトの配列をプロパティ値でソートする方法
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] "CFNetwork SSLHandshake failed (-9806)" の解決方法について
-
[解決済み] Xcode 9の問題を修正しました。"iPhoneはビジー状態です。iPhoneのデバッガーサポートを準備中"
-
[解決済み] UICollectionView: 非Nilのレイアウトパラメータで初期化する必要があります。
-
[解決済み] 新しいアウトレット接続を挿入できませんでした。という名前のクラスの情報が見つかりませんでした。
-
[解決済み] NSIntegerからNSStringデータ型に変換するにはどうすればよいですか?
-
[解決済み] dispatch_queue_create のキュー属性とは?
-
[解決済み] CocoaPodsでポッド「Firebase/Core」の互換バージョンが見つからなかった|cloud_firestore, Flutter
-
[解決済み] Stringをformatで作成するには?
-
[解決済み] BluetoothのロゴはiPhoneのキャラクターとして利用できますか?
-
[解決済み] あなたのリクエストはエラーを発生させました。[newNullResponse]?