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

Swiftは、Apple Inc.が自社のプラットフォームとLinux用に開発した、安全で高速、かつ表現力豊かな汎用プログラミング言語です。Swiftはオープンソースです。このタグは、言語機能に関する質問、またはSwiftのコードが必要な場合にのみ使用してください。プラットフォームまたはフレームワークに関する(言語に依存しない)質問には、タグ[ios]、[ipados]、[macos]、[watch-os]、[tvos]、[cocoa-touch]、および[cocoa]を使用します。

20
UITextFieldテキスト変更イベント
textFieldでテキストの変更を検出するにはどうすればよいですか?デリゲートメソッドshouldChangeCharactersInRangeは何かに対して機能しますが、私のニーズを正確に満たしませんでした。YESが返されるまで、textFieldテキストは他のオブザーバーメソッドでは使用できません。 たとえば、私のコードでcalculateAndUpdateTextFieldsは、更新されたテキストを取得できませんでした。ユーザーが入力しました。 textChangedJavaイベントハンドラーのようなものを取得する方法はありますか。 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if (textField.tag == kTextFieldTagSubtotal || textField.tag == kTextFieldTagSubtotalDecimal || textField.tag == kTextFieldTagShipping || textField.tag == kTextFieldTagShippingDecimal) { [self calculateAndUpdateTextFields]; } return YES; }

6
「純粋な」Swiftで弱いプロトコル参照を作成するにはどうすればよいですか(@objcなし)
weakprotocolがとして宣言されていない限り、参照はSwiftで機能しないよう@objcです。これは、純粋なSwiftアプリでは不要です。 このコードはコンパイルエラーを発生させます(weak非クラスタイプには適用できませんMyClassDelegate): class MyClass { weak var delegate: MyClassDelegate? } protocol MyClassDelegate { } プロトコルの前にを付ける必要があります@objc。そうすると機能します。 質問:を実現する「純粋な」Swiftの方法はweak delegate何ですか?

24
dispatch_after-SwiftのGCD?
iBookを使用しました Apple定義を見つけることができませんでした。 誰かが構造を説明できますかdispatch_after? dispatch_after(<#when: dispatch_time_t#>, <#queue: dispatch_queue_t?#>, <#block: dispatch_block_t?#>)

22
SwiftでIntをStringに変換します
私はキャストする方法を考え出そうとしています IntにStringスウィフトに。 私は回避策を見つけて使用NSNumberしていますが、Swiftでそれをすべて行う方法を見つけたいです。 let x : Int = 45 let xNSNumber = x as NSNumber let xString : String = xNSNumber.stringValue
554 string  casting  int  converter  swift 

6
👩‍👩‍👧‍👦のような絵文字がSwift文字列で奇妙に扱われるのはなぜですか?
文字👩‍👩‍👧‍👦(女性2人、女の子1人、男の子1人の家族)は、次のようにエンコードされます。 U+1F469 WOMAN、 ‍U+200D ZWJ、 U+1F469 WOMAN、 U+200D ZWJ、 U+1F467 GIRL、 U+200D ZWJ、 U+1F466 BOY したがって、非常に興味深いエンコード方式です。単体テストの完璧なターゲット。ただし、Swiftはその処理方法を認識していないようです。これが私の意味です: "👩‍👩‍👧‍👦".contains("👩‍👩‍👧‍👦") // true "👩‍👩‍👧‍👦".contains("👩") // false "👩‍👩‍👧‍👦".contains("\u{200D}") // false "👩‍👩‍👧‍👦".contains("👧") // false "👩‍👩‍👧‍👦".contains("👦") // true それで、スウィフトはそれがそれ自身(良い)と男の子(良い!)を含んでいると言います。しかし、それはそれは女性、女の子、またはゼロ幅のジョイナーが含まれていないと言います。ここで何が起こっているのですか?なぜSwiftは少年が含まれているのに女性や少女が含まれていないことを知っているのですか?それが単一の文字として扱われ、それ自体を含むだけであると認識した場合は理解できましたが、サブコンポーネントが1つしかなく、他のコンポーネントがないという事実は、私を困惑させます。 これは、のようなものを使用しても変わりません"👩".characters.first!。 さらに交絡はこれです: let manual = "\u{1F469}\u{200D}\u{1F469}\u{200D}\u{1F467}\u{200D}\u{1F466}" Array(manual.characters) // ["👩‍", "👩‍", "👧‍", "👦"] そこにZWJを配置しても、文字配列には反映されません。その後のことは少し語っていました: manual.contains("👩") // false manual.contains("👧") // …
540 swift  string  unicode  emoji 


30
String型の列挙型を列挙する方法は?
enum Suit: String { case spades = "♠" case hearts = "♥" case diamonds = "♦" case clubs = "♣" } たとえば、次のようにするにはどうすればよいですか。 for suit in Suit { // do something with suit print(suit.rawValue) } 結果の例: ♠ ♥ ♦ ♣
530 swift  string  enums  enumerate 

18
プロパティ値でカスタムオブジェクトの配列を並べ替える方法を迅速に
imageFileという名前のカスタムクラスがあり、このクラスに2つのプロパティが含まれているとします。 class imageFile { var fileName = String() var fileID = Int() } それらの多くは配列に格納されています var images : Array = [] var aImage = imageFile() aImage.fileName = "image1.png" aImage.fileID = 101 images.append(aImage) aImage = imageFile() aImage.fileName = "image1.png" aImage.fileID = 202 images.append(aImage) 質問です: 'fileID' ASCまたはDESCで画像配列をソートするにはどうすればよいですか?
521 arrays  sorting  swift 

22
Swift言語で感嘆符はどういう意味ですか?
Swiftプログラミング言語ガイドには、次の例があります。 class Person { let name: String init(name: String) { self.name = name } var apartment: Apartment? deinit { println("\(name) is being deinitialized") } } class Apartment { let number: Int init(number: Int) { self.number = number } var tenant: Person? deinit { println("Apartment #\(number) is being deinitialized") } } …

30
UIScrollViewスクロール可能なコンテンツサイズのあいまいさ
開発者の皆さん、Interface Builder(Xcode 5 / iOS 7)のAutoLayoutに問題があります。これは非常に基本的で重要なので、これが正しく機能する方法を誰もが知っておくべきだと思います。これがXcodeのバグである場合、それは重大なバグです! したがって、このようなビュー階層があるときはいつでも問題が発生します。 >UIViewController >> UIView >>>UIScrollView >>>>UILabel (or any other comparable UIKit Element) UIScrollViewには、すべての側面から50ピクセルなどの制約があります(問題ありません)。次に、UILabelにTop Space制約を追加します(問題ありません)(そして、ラベルの高さ/幅を固定することもできますが、何も変更しませんが、Labelの固有のサイズのために不要になるはずです)。 UILabelに末尾の制約を追加すると、問題が発生します。 例:末尾のスペース:スーパービュー等しい:25 ここで2つの警告が発生します-その理由がわかりません。 A)スクロール可能なコンテンツサイズのあいまいさ(スクロールビューには、スクロール可能なコンテンツの高さ/幅があいまいです) B)ビューの配置ミス(予想ラベル:x = -67実際:x = 207) 私はこの最小限の例を、新しくダウンロードできる新しいプロジェクトで実行し、スクリーンショットを添付しました。ご覧のとおり、Interface Builderは、LabelがUIScrollViewの境界(オレンジ色の破線の長方形)の外側にあると想定しています。問題解決ツールでラベルのフレームを更新すると、ラベルがすぐに移動します。 注:UIScrollViewをUIViewに置き換えると、動作は期待どおりになります(ラベルのフレームは正しく、制約に従います)。したがって、UIScrollViewに問題があるか、何か重要なことを見逃しているようです。 IBで提案されているように、ラベルのフレームを更新せずにアプリを実行すると、正確に、正確に配置され、UIScrollViewはスクロール可能です。フレームを更新すると、ラベルが見えなくなり、UIScrollViewがスクロールしません。 オビ=ワン・ケノービを助けて!なぜあいまいなレイアウトなのですか?なぜ見当違いの表示ですか? ここでサンプルプロジェクトをダウンロードして、何が起こっているのかを理解できるかどうか試してください:https : //github.com/Wirsing84/AutoLayoutProblem

10
「暗黙的にアンラップされたオプション」を作成する理由は、値があることがわかっているからです。
通常の変数または定数だけを作成するのではなく、「暗黙的にアンラップされたオプション」を作成するのはなぜですか?正常にアンラップできることがわかっている場合は、なぜ最初にオプションを作成するのですか?たとえば、これはなぜですか: let someString: String! = "this is the string" より便利になるでしょう: let someString: String = "this is the string" 「オプションが定数または変数が「値なし」を許可されていることを示す」場合でも、「プログラムの構造から、オプションがその値が最初に設定された後は常に値を持つことが明らかである場合があります」、のポイントは何ですかそもそもそれをオプションにしていますか?オプションが常に値を持つことを知っているなら、それはオプションではないのではないですか?

12
Swift 4モードでのSwift 3 @objc推論の使用は非推奨ですか?
簡単に言うと、Xcode 9 Betaを使用しているときに、次の警告が表示されました。 Swift 4モードでのSwift 3 @objc推論の使用は非推奨です。非推奨の@objc推論の警告に対処し、「非推奨のSwift 3 @objc推論の使用」ログを有効にしてコードをテストし、Swift 3 @objc推論を無効にしてください。** いくつかの調査の後、私はまだ問題を修正する方法を知りません。この問題を解決するためのヒントと、何が起こっているのかについての説明をいただければ幸いです。 私の目標は、コードで何が起こっているかをよりよく理解することです。

30
SwiftでUIAlertViewを作成するにはどうすればよいですか?
私はSwiftでUIAlertViewの作成に取り組んでいますが、何らかの理由でこのエラーが発生しているため、ステートメントを正しく取得できません。 指定された引数を受け入れる 'init'のオーバーロードが見つかりませんでした これが私が書いた方法です: let button2Alert: UIAlertView = UIAlertView(title: "Title", message: "message", delegate: self, cancelButtonTitle: "OK", otherButtonTitles: nil) それを呼び出すために私は使っています: button2Alert.show() 現時点ではクラッシュしており、構文が正しくないようです。


16
要素が配列にあるかどうかを確認する方法
Swiftでは、要素が配列に存在するかどうかをどのように確認できますか?Xcodeはのための任意の提案を持っていないcontain、includeまたはhas、そして本をクイック検索には何も上がっていません。これを確認する方法はありますか?findインデックス番号を返すメソッドがあることは知っていますが、ルビーのようなブール値を返すメソッドはあります#include?か? 私が必要とするものの例: var elements = [1,2,3,4,5] if elements.contains(5) { //do something }
475 arrays  swift 

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