[解決済み] Swiftです。nilのオプショナルをテストする
2022-04-27 15:34:20
質問
Xcode 6 Beta 4を使用しています。オプショナルを適切にテストする方法がわからないという奇妙な状況になっています。
オプションのxyzがある場合、正しいテスト方法ですか?
if (xyz) // Do something
または
if (xyz != nil) // Do something
ドキュメントには1番目の方法で行うように書かれていますが、2番目の方法が必要で、コンパイラーエラーが発生しない場合もあれば、2番目の方法でコンパイラーエラーが発生する場合もあることがわかりました。
私の具体的な例では、GData XML パーサーを swift にブリッジして使用しています。
let xml = GDataXMLDocument(
XMLString: responseBody,
options: 0,
error: &xmlError);
if (xmlError != nil)
ここで、もし私がちょうど
if xmlError
を実行すると、常に真を返します。しかし、そうすると
if (xmlError != nil)
であれば、(Objective-Cで動くように)動作します。
GData XMLとそのオプションの扱い方について、私が見逃している何かがあるのでしょうか?
解決方法は?
Xcode Beta 5では、させてくれなくなった。
var xyz : NSString?
if xyz {
// Do something using `xyz`.
}
これはエラーを発生させます。
はプロトコル 'BooleanType.Protocol' に適合していません。
これらのフォームのいずれかを使用する必要があります。
if xyz != nil {
// Do something using `xyz`.
}
if let xy = xyz {
// Do something using `xy`.
}
関連
-
[解決済み] Swift言語におけるエクスクラメーションマークの意味とは?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] 文字列の長さを取得する
-
[解決済み] UITextViewのプレースホルダー
-
[解決済み] iOS Simulatorでネットワークを無効にすることは可能ですか?
-
[解決済み] なぜ「Implicitly Unwrapped Optionals」を作るのか、それは値があることを知っていることを意味しているからです。
-
[解決済み] UIViewの角丸とドロップシャドウ?
-
[解決済み】コンパイラーエラー。Objective-C のセレクタを持つメソッドは、同じ Objective-C セレクタを持つ以前の宣言と競合しています。
-
[解決済み] SwiftでOptionalにデフォルト値を提供する?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
制御が非ボイド関数の終了に達する
-
XCode のコンパイル例外を解決する clang: error: linker command failed with exit code 1
-
dyld: ライブラリがロードされていません。エラーの解決
-
JenkinsがIOSを自動パッケージングしてモミを配布
-
[解決済み] Xcodeにおけるバージョンとビルドの比較
-
[解決済み] テキストフィールドを移動する方法(次へボタン/完了ボタン)
-
[解決済み] 「GCC使用時に「Xcode/iOSのライセンスに同意するには管理者権限が必要です。rootでsudoを使用して再実行してください。
-
[解決済み] アプリのプレビュー用にiOSシミュレータのビデオをキャプチャー
-
[解決済み] コア・データ エンティティの全インスタンスを削除する最短の方法
-
[解決済み] Swiftのプロトコルでオプションのメソッドを定義するには?