問題タブ [swift2.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
143 参照

swift - Swift の変数型について

String!タイプとタイプの違いがよくわかりましたString?。しかし、Stringタイプはどうですか?String!String?迅速な違いは何ですか?String!タイプはタイプと同じStringですか?

たとえば、次のようなクラスがあります。

Stringコンパイラ エラーはありません。型が型と同じであるように見えますString!。しかし、よくわかりません...

0 投票する
2 に答える
3238 参照

ios - AnyObject をキャストしますか? [String:AnyObject?] に常に失敗する

当初、私はSwift 2.1でこのコードを持っていました

Swift 2.2 にアップグレードした後、次のようなエラーが発生しました

「添え字」へのあいまいな参照

ラインのためにprint(jsonData["message"])

コードをこれに変更しました

ただし、このステートメントは常に失敗します。AnyObject? [String:AnyObject?] への型キャストは行われず、合体値は nil になります。AnyObject?from からto にキャストしたいと思い[String:AnyObject]ます。出来ますか?

0 投票する
2 に答える
1955 参照

ios - 行のオプションを動的にロードする

これは、 Eurekaと呼ばれる Swift オープン ソース プロジェクトに関連する質問です。ここでタグを監視しているため、SO にこの質問を投稿しています。

viewDidLoadでは、View Controller のメソッドでフォームを作成します。同時に、API への http 呼び出しを行い、データ (ジョブ) のリストを取得します。この呼び出しは非同期です。これらのジョブをオプション値として に表示したいと考えていますPushRow

この API 呼び出しは非同期であるため、このデータが受信されるまでに、フォームは既にセットアップされています。http 呼び出しからのジョブのリストを設定するクラス レベルの配列のセットアップがあります。その同じ配列がその行のoptionsプロパティに割り当てられます。データを受け取ったら、値を配列に割り当てます。しかし、次に行って をタップするとPushRow、空です。

特定の行またはフォーム全体のデータを更新または再読み込みする方法はありますか?


更新 1

以下のケビンの回答に従って、コードを次のように変更しました。

しかし、何らかの理由で、まだ機能していません。オプションは空です。タグを介してセルが正しく取得されていることを確認しました。とにかくこれに失敗したので、私も試しtableView.reloadData()てみましたが、役に立ちませんでした。

0 投票する
1 に答える
356 参照

swift - NSRegularExpression Swift を使用して文字列から文字列を検索

StringNSRegularExpression を使用して画像の URL を取得したい。

単純な文字列だけで機能しますが、HTML String.

作業例:

出力:

しかし、これでは機能しません: http://www.writeurl.com/text/478sqami3ukuug0r0bdb/i3r86zlza211xpwkdf2m

0 投票する
0 に答える
191 参照

xcode7 - iOS 9.3 サブクラスで定義されたメソッドに #selector を使用する方法

MyBaseCell クラスから複数のセルを継承しました。私の ViewController クラスでは、これらのセルにアクセスし、それらを MyBaseCell インスタンスとして型キャストし、エラー ラベルに応答するかどうかを確認してから、そのラベルにエラー メッセージを割り当てます。respondsToSelectorメソッドで文字列リテラルを使用するのは簡単でした。

これはViewControllerクラスの既存のコードで、警告を出しています。

XCode 7.3 は、Objective-C セレクター 'errorLabel' で宣言されたメソッドがないという警告を出します。に変更しようとするとrespondsToSelector(#selector(MyBaseCell.errorLabel))、「Type MyBaseCell has no member errorLabel」というエラーが発生します。これは、errorLabel が MyBaseCell のサブクラスの一部に含まれているためです。

ViewController クラスの新しいコードで、構文エラーが発生しています。

0 投票する
3 に答える
215 参照

ios - 「?」を避ける方法はありますか?Swiftで何度もアンラップするようにマークしますか?

"?" を使用して、変数をオプションとして定義します。たとえば、次のようになります。

次に、プログラム全体で、「?」を使用して変数名の値を取得します。次に例を示します。

とにかく「?」を取り除くことができますか?オプションの変数をアンラップするたびに。

0 投票する
2 に答える
78 参照

swift - このエラーが発生するのはなぜですか (swift 2.2、func および名前付きパラメーターの処理)。

このコードは Xcode 7.3 で書かれています。なぜこのエラーが発生するのかわかりません。Swift 1.0では問題なく動作していました。しかし、swift 2.2 ではそうではありません。

画像の説明