タグ付けされた質問 「swift2」

このタグは、AppleのSwiftプログラミング言語のバージョン2.xの変更に直接関連する質問にのみ使用してください。より一般的な言語の質問にはタグ[swift]を使用します。Appleプラットフォームでの開発に関する質問には[ios]、[cocoa]、[apple-watch]などのタグを使用します。

13
Swiftのguardキーワード
Swift 2で導入されたguardキーワードは、さまざまなデータをすぐに構成できるようにするために使用できます。このWebサイトで見た例は、submitTapped関数を示しています。 func submitTapped() { guard username.text.characters.count > 0 else { return } print("All good") } 条件guardを使用して、昔ながらの方法を使用することと何が違うのかと思いifます。簡単なチェックでは得られなかったメリットはありますか?

6
二項演算子 '|' 2つのUIViewAutoresizingオペランドには適用できません
Swift 2.0でこのエラーを取得します。 二項演算子 '|' 2つのUIViewAutoresizingオペランドには適用できません これがコードです: let view = UIView(frame: CGRect(x: 0, y: 0, width: 320, height: 568)) addSubview(view) view.autoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight 何が問題になる可能性がありますか?
193 ios  swift  cocoa-touch  swift2 

4
Swift 2.0-二項演算子「|」2つのUIUserNotificationTypeオペランドには適用できません
私はこの方法でローカル通知のアプリケーションを登録しようとしています: UIApplication.sharedApplication().registerUserNotificationSettings(UIUserNotificationSettings(forTypes: UIUserNotificationType.Alert | UIUserNotificationType.Badge, categories: nil)) Xcode 7とSwift 2.0では、エラーが発生しますBinary Operator "|" cannot be applied to two UIUserNotificationType operands。私を助けてください。
193 ios  swift  swift2 

1
やって、やって!してみますか?違いは何ですか、それぞれをいつ使用するのですか?
でスウィフト2.0、Appleがエラーを(行う-のtry-catch)を処理するための新しい方法を導入しました。そして数日前にベータ6でさらに新しいキーワードが導入されました(try?)。また、私が使用できることを知っていましたtry!。3つのキーワードの違いは何ですか、それぞれをいつ使用するのですか?

6
Swift do-try-catch構文
Swift 2の新しいエラー処理を理解するために試してみます。これが私がしたことです:最初にエラー列挙型を宣言しました: enum SandwichError: ErrorType { case NotMe case DoItYourself } そして、エラーをスローするメソッドを宣言しました(例外ではなく、エラーです)。ここにその方法があります: func makeMeSandwich(names: [String: String]) throws -> String { guard let sandwich = names["sandwich"] else { throw SandwichError.NotMe } return sandwich } 問題は呼び出し側からです。このメソッドを呼び出すコードは次のとおりです。 let kitchen = ["sandwich": "ready", "breakfeast": "not ready"] do { let sandwich = try makeMeSandwich(kitchen) print("i …
162 swift  swift2 

10
@testableを使用すると、「モジュールはテスト用にコンパイルされませんでした」
Swift 2の新しい@testable宣言を使用して、クラスをテストターゲットに公開しようとしています。ただし、このコンパイラエラーが発生します。 Intervals私が公開しようとしているクラスを含むモジュールです。このエラーを取り除くにはどうすればよいですか?

11
「++」および「-」演算子はXcode 7.3で廃止されました
Xcode 7.3のノートを見ていると、この問題に気づきました。 ++および-演算子は廃止されました 誰かがなぜそれが非推奨であるかを説明できますか?Xcodeの新しいバージョンでは、++これの代わりに使用することになりますx += 1。 例: for var index = 0; index < 3; index += 1 { print("index is \(index)") }

9
Swift 2のカスタムメッセージでエラー/例外をスローする最も簡単な方法は?
他の複数の言語で慣れているSwift 2で何かをしたいのですが、カスタムメッセージでランタイム例外をスローします。例(Javaの場合): throw new RuntimeException("A custom message here") ErrorTypeプロトコルに準拠した列挙型をスローできることは理解していますが、スローするすべてのタイプのエラーに対して列挙型を定義する必要はありません。理想的には、上の例をできる限り真似できるようにしたいと思います。ErrorTypeプロトコルを実装するカスタムクラスの作成を検討しましたが、そのプロトコルに必要なものを理解することもできませんでした(ドキュメントを参照)。アイデア?
136 ios  swift  swift2 

12
文字列から整数値を迅速に取得する
だから私はこれを行うことができます: var stringNumb: NSString = "1357" var someNumb: CInt = stringNumb.intValue しかし、私はそれを行う方法を見つけることができませんString。私は次のようなことをしたいと思います: var stringNumb: String = "1357" var someNumb: Int = Int(stringNumb) これも機能しません: var someNumbAlt: Int = myString.integerValue
134 swift  swift2 

5
Swift拡張機能でのメソッドのオーバーライド
私は必要なもの(保存されたプロパティ、初期化子)だけをクラス定義に入れ、他のものすべてを独自のに移動する傾向があります。これは、グループ化する論理ブロックごとextensionのようなものです。extension// MARK: たとえば、UIViewサブクラスの場合、イベントにサブスクライブして処理するためのレイアウトなど、レイアウト関連の拡張機能が必要になります。これらの拡張機能では、必然的にいくつかのUIKitメソッドをオーバーライドする必要がありますlayoutSubviews。今日まで、このアプローチの問題に気づくことはありませんでした。 このクラス階層を例にとります: public class C: NSObject { public func method() { print("C") } } public class B: C { } extension B { override public func method() { print("B") } } public class A: B { } extension A { override public func method() { print("A") } } …

11
stringByAppendingPathComponentは使用できません
私のアプリはInstagramで写真を共有します。これを行うには、まず一時ディレクトリに保存します。 let writePath = NSTemporaryDirectory().stringByAppendingPathComponent("instagram.igo") 動作していましたが動作しSwift 1.2ませんでしたSwift 2.0。 与えられたエラーメッセージは: stringByAppendingPathComponentは使用できません。代わりにNSURLのURLByAppendingPathComponentを使用してください。
132 ios  swift  swift2 

8
スウィフト:ガードレットvsレットレット
私はSwiftのオプションについて読んでいて、 if let、オプションが値を保持しているかどうかをチェックするために使用される。 ただし、Swift 2.0ではキーワードguard letが主に使用されていることを確認しました。if letSwift 2.0から削除されたのか、それともまだ使えるのか。 を含むプログラムをに変更する必要if letがありguard letますか?

4
改行なしで迅速に印刷する
Swift 2.0では、print()自動的に改行文字が追加されます。Swift 1.2ではprintln()、print()以前は個別の機能でした。それでは、swiftには改行を追加しない印刷機能がなくなったため、テキストを印刷して改行を追加しないようにするにはどうすればよいですか。
110 swift  swift3  swift2 

5
プロトコルにはSelfまたはassociatedType要件があるため、ジェネリック制約としてのみ使用できます。
私はプロトコルRequestTypeを持っていて、それは以下のようにassociatedTypeモデルを持っています。 public protocol RequestType: class { associatedtype Model var path: String { get set } } public extension RequestType { public func executeRequest(completionHandler: Result<Model, NSError> -> Void) { request.response(rootKeyPath: rootKeyPath) { [weak self] (response: Response<Model, NSError>) -> Void in completionHandler(response.result) guard let weakSelf = self else { return } if …

4
迅速に警告を止める方法
多くの警告を生成するコードがあります(廃止予定のAPI) 私ができるclang *を使用して #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" ... #pragma clang diagnostic pop ただし、これは迅速には機能しません。 それを迅速に行う方法は? 注:警告をグローバルに無効にしたり、ファイル全体を無効にしたりするのではなく、ソースコードの特定の部分で特定の警告を無効にするだけです。 編集:私のメモは十分に明確ではなかったようです:条件付きコンパイルは必要ありません(これは想定される複製の提案された回答です)。新しいAPIを使用せずに警告を止めたいだけです。
98 swift  pragma  swift2 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.