問題タブ [swift4]
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.
swift - Swift 4 で JSON デコードが失敗する原因となるオプションの URL
オプション URL を使用すると、Swift 4 を使用して JSON デコードが失敗する理由を理解しようとしています。WWDC の「Foundation の新機能」ビデオ、Apples Playground の例、およびインターネット上の多くの場所に既に注がれていますが、解決策を見つけていません。
これは、問題を示すために作成したテストです。これが私のjsonデータだとしましょう:
そして、これは私の構造体です:
そして、ここで私はそれをシリアル化します:
ここで、問題は、image_url が欠落している json データを受信した場合、json のデコードが失敗し、nil が返されることです。
「種類」がオプションの文字列になり、値がない場合にjsonのデコードが失敗しない理由について混乱していますが、jsonを失敗させずにimage_urlをオプションのURLにすることはできません。
私はこれを2日間理解しようとしてきましたが、運がありません。なぜこれが失敗するのかについての洞察を持っている人はいますか?
パズルのもう 1 つのピースに気付きました。それは、json の image_url が実際には有効な画像 URL である必要はないということです。任意の文字列を入力でき、構造体がシリアル化されるため、これがどのように機能するかを誤解している可能性があります。URL が有効な URL に変換できる場合にのみ、URL が自動的に入力されると考えていましたが、それは起こっていません。
これに対する洞察は大歓迎です。
swift - swift 3 から swift 4 への移行 - String を予期される String.Element に変換できません
コードをSwift 3からSwift 4に変換していますが、次のコードでこのエラーが発生しています。flatmap を使用して配列を平坦化しようとしても、これが発生します
タイプ 'String' の値を予期される引数タイプ 'String.Element' (別名 'Character') に変換できません
以下のコード行は [String] を返さず、代わりに '[String.Element]' です [String] に変換するにはどうすればよいですか。[String] としてキャストしようとすると、常に失敗すると表示されます。
xcode - xcode 9識別子付きのバンドル内のペン先から参照される画像を読み込めませんでした
昨日 Xcode 9.0 に移行しましたが、画像リソースが機能しません。イメージをルートにドラッグし、[必要に応じてコピー] と [グループの作成] を選択して、プロジェクト ターゲットに追加します。
画像はストーリーボードに表示されますが、シミュレーターやデバイスには表示されません。
「2017-09-24 11:49:46.578312+0330 testResource[3999:148745] 識別子「com.app.testResource」を持つバンドル内のニブから参照された「past_exam_background.jpg」画像を読み込めませんでした。私はpngをテストしましたが、結果は同じでした。
私は何をすべきか?
ios - addTarget メソッドを Swift 4 に更新する方法
プロジェクトコードをSwift 4に更新すると、add.targetメソッドのエラーが発生します。このエラーを修正するにはどうすればよいですか?
ios - iOS グラフ、折れ線グラフでデータが更新されない
私はこの問題を抱えています: セグメント化されたコントロールのセグメントを切り替えるたびにデータがめちゃくちゃになりますが、実行時に切り替えて 0 セグメントでのみ切り替えた場合にのみ、何度切り替えても 1 セグメントは問題なく動作します。これが私が何を意味するかを説明するgifです:
この問題に対処するには?ここにいくつかのコードがあります
セグメント化されたコントロールの ibaction 関数
/li>
/li>todayFiller()
(うまく機能するもの):
/li>last7Filler()
func (私に問題を与えるもの):
ps funcemptyArrays()
はremoveAll()
、配列low
、mid
、high
、lowA
、midA
およびhighA
ios - Swift 4 デコード可能な json 配列
だから私は現在、下部にリンクされているJSON Apiを解析するプログラムに取り組んでいます
コードを実行すると、一部の出力が得られますが、すべてではありません
主に、アニメのオプションのタイプが機能することを示しているので良いですが、名前とリリース日と言語にもアクセスしたいのですが、Swift 4 でこのような JSON 配列を操作する方法がわかりません。以下の現在のコード。
その後、さらにコードがありますが、それはカスタム collectionViewCells をセットアップするためのものです。
また、ここにAPIへのリンクがあります
swift - 'hideUISearchBarWhenScrolling'-tableView をプロパティとして使用するとプロパティが機能しない
私は新しい Swift4/iOS11 の可能性をいじりhideSearchBarWhenScrolling
、UIViewController のプロパティとして tableView を使用しないという問題に固執しました。
UITableViewController では、正常に機能するように機能しています。
私は何を間違っていますか?誰かが同じ問題を発行しましたが、これに対する解決策はありますか?
ありがとう
swift - ジェネリック関数 where 句での Self の使用エラー
プロトコルの一部であるジェネリック関数Self
の句の一部として使用しようとすると、問題が発生します。where
たとえば、次のプロトコルと汎用関数が定義されているとします。
関数 Feed は、角かっこで囲まれたステートメントを使用して、最初のパラメーターがAnimal
プロトコルに準拠する必要があることを宣言します。この句を使用where
して、2 番目のパラメーターの型が最初のパラメーターの関連付けられた型に準拠する必要があることを宣言します。
この汎用関数の要件に準拠するクラスを作成することは可能であり、すべてが完全に機能します。例えば:
ここまでは順調ですね。
ただし、プロトコルの一部としてジェネリックの同じパターンを実装すると、機能しなくなります。
このブロックを実行すると、次のエラーがスローされます。
目的の動作を実現する方法はありますか?