swift-'(AnyObject)'は 'NSObject'のサブタイプではありません

オボッソテレビ

私は迅速な開発に不慣れで、チュートリアルに従いましたが、このエラーに遭遇し、それを修正する方法がわからなくなるまで、すべてが順調でした。手伝って頂けますか ?

if let json = response.result.value {
    let jsonArray:NSArray = json as! NSArray
    /// On fait la boucle pour avoir la liste globale des éléments a afficher
    for i in 0..<jsonArray.count {
        self.OPlays.append(Playlist(
            title:(jsonArray[i] as AnyObject).value(forKey: "title") as? String,
                artist:(jsonArray[i] as AnyObject).value(forKey: "artist") as? String,
                categorie:(jsonArray[i] as AnyObject).value(forKey: "categorie") as? String,
                cover_url:(jsonArray[i] as AnyObject).value(forKey: "cover_url") as? String)
        )
    }
    self.tableViewPlaylist.reloadData()
}        

ニュースファイルは正しい。

if let json = response.result.value {
    let jsonArray:NSArray = json as! NSArray

    /// On fait la boucle pour avoir la liste globale des éléments a afficher
    for i in 0..<jsonArray.count {
        self.OPlays.append(Playlist(
            id: (jsonArray[i] as AnyObject).value(forKey: "id") as? Int,
            title: (jsonArray[i] as AnyObject).value(forKey: "title") as? String,
            artist: (jsonArray[i] as AnyObject).value(forKey: "artist") as? String,
            cover_url: (jsonArray[i] as AnyObject).value(forKey: "cover_url") as? String,
            categorie: (jsonArray[i] as AnyObject).value(forKey: "categorie") as? String
        ))
    }
    self.tableViewPlaylist.reloadData()
}
ロブ

そのAnyObjectコードをすべて削除します。

if let array = response.result.value as? [[String: Any]] {
    for dictionary in array {
        self.OPlays.append(Playlist(
            id: dictionary["id"] as? Int,
            title: dictionary["title"] as? String,
            artist: dictionary["artist"] as? String,
            categorie: dictionary["categorie"] as? String,
            cover_url: dictionary["cover_url"] as? String
        ))
    }
    self.tableViewPlaylist.reloadData
}

個人的には、さらに一歩進んで、JSONを手動でデコードするビジネスから抜け出します。を使用しJSONDecoderます。

struct Playlist: Codable {
    let id: Int?
    let title: String?
    let artist: String?
    let categorie: String?
    let cover_url: String?
}

次に、dataそれがラップされていないDataオブジェクトであると仮定します

do {
    self.OPlays = JSONDecoder().decode([Playlist].self, from: data)
} catch {
    print(error)
}

または、Alamofireを使用している場合は、JSONDecoderベースのresponseメソッドを持つAlamofire5を検討してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Swift- [NSObject:AnyObject]! ' 'Dictionary <String、AnyObject>のサブタイプではありません

分類Dev

swift3のコンパイルエラー:「AnyObject」は「NSObject」のサブタイプではありません

分類Dev

[NSObject:AnyObject]とSwiftのAnyObjectの違いは何ですか

分類Dev

Swift 2.0-GoogleAnalyticsイベントビルダーエラー-NSMutableDictionaryは[NSObject:AnyObject]に変換できません

分類Dev

「AnyObject?」CustomClassのサブタイプではありません

分類Dev

タイプ[NSObject:AnyObject]のディクショナリには、メンバー「value(forKeyPath:...)」がありません。

分類Dev

Swift 3のアップグレード:「Dictionary <NSObject、AnyObject>?」と入力します。下付き文字はありません

分類Dev

nilは、予期される引数タイプ '[NSObject:AnyObject]'と互換性がありません

分類Dev

'(NSObject、AnyObject)'は 'String'に変換できません

分類Dev

「[NSObject]」は「[AnyObject]」に変換できません

分類Dev

「NSString」は「DictionaryIndex <NSObject、AnyObject>」に変換できません

分類Dev

変数がAnyObjectであり、NSObjectではない場合

分類Dev

Swift:タイプ「Any」の値をタイプ「AnyObject?」の値に割り当てることはできません。

分類Dev

Swift(String:AnyObject)は[String:AnyObject]に変換できません

分類Dev

タイプ '[NSObject:AnyObject]'の値をタイプ 'NSKeyValueChangeKey'のインデックスで下付き文字にすることはできません

分類Dev

タイプ '[NSObject:AnyObject]?'の値に添え字を付けることはできません。タイプ「文字列」のインデックスを持つ

分類Dev

タイプ '[NSObject:AnyObject]'の値にタイプ 'String'のインデックスを添えることはできません

分類Dev

「NSString」は、Swift ViewControllerの「UILAbel」のサブタイプではありません

分類Dev

Swift:タイプ「AnyObject ?!」の不変式に割り当てることはできません

分類Dev

Swift-「Bool」は「Void」のサブタイプではありませんか?

分類Dev

Swift:NSNumberはUIViewAnimationCurveのサブタイプではありません

分類Dev

「タイプ「String」の値をタイプ「AnyObject?」に割り当てることはできません」、Swift 3、Xcode 8ベータ6

分類Dev

「タイプ「String」の値をタイプ「AnyObject?」に割り当てることはできません」、Swift 3、Xcode 8ベータ6

分類Dev

「タイプ「String」の値をタイプ「AnyObject?」に割り当てることはできません」、Swift 3、Xcode 8ベータ6

分類Dev

'[NSObject:AnyObject]?'からキャスト 無関係なタイプ「NSDictionary」は常に失敗します

分類Dev

Swift:NSNumberをNSStringに変換します(NSNumberはNSStringのサブタイプではありません)

分類Dev

AnyObjectはswiftを使用してStringに変換できません

分類Dev

NSDictionaryからブリッジした後、[NSObject:AnyObject] Swiftディクショナリから要素を参照する方法

分類Dev

Swiftは、IBAction "Any"を介して複数のボタンを接続できませんが、 "AnyObject"を介して問題ありません。

Related 関連記事

  1. 1

    Swift- [NSObject:AnyObject]! ' 'Dictionary <String、AnyObject>のサブタイプではありません

  2. 2

    swift3のコンパイルエラー:「AnyObject」は「NSObject」のサブタイプではありません

  3. 3

    [NSObject:AnyObject]とSwiftのAnyObjectの違いは何ですか

  4. 4

    Swift 2.0-GoogleAnalyticsイベントビルダーエラー-NSMutableDictionaryは[NSObject:AnyObject]に変換できません

  5. 5

    「AnyObject?」CustomClassのサブタイプではありません

  6. 6

    タイプ[NSObject:AnyObject]のディクショナリには、メンバー「value(forKeyPath:...)」がありません。

  7. 7

    Swift 3のアップグレード:「Dictionary <NSObject、AnyObject>?」と入力します。下付き文字はありません

  8. 8

    nilは、予期される引数タイプ '[NSObject:AnyObject]'と互換性がありません

  9. 9

    '(NSObject、AnyObject)'は 'String'に変換できません

  10. 10

    「[NSObject]」は「[AnyObject]」に変換できません

  11. 11

    「NSString」は「DictionaryIndex <NSObject、AnyObject>」に変換できません

  12. 12

    変数がAnyObjectであり、NSObjectではない場合

  13. 13

    Swift:タイプ「Any」の値をタイプ「AnyObject?」の値に割り当てることはできません。

  14. 14

    Swift(String:AnyObject)は[String:AnyObject]に変換できません

  15. 15

    タイプ '[NSObject:AnyObject]'の値をタイプ 'NSKeyValueChangeKey'のインデックスで下付き文字にすることはできません

  16. 16

    タイプ '[NSObject:AnyObject]?'の値に添え字を付けることはできません。タイプ「文字列」のインデックスを持つ

  17. 17

    タイプ '[NSObject:AnyObject]'の値にタイプ 'String'のインデックスを添えることはできません

  18. 18

    「NSString」は、Swift ViewControllerの「UILAbel」のサブタイプではありません

  19. 19

    Swift:タイプ「AnyObject ?!」の不変式に割り当てることはできません

  20. 20

    Swift-「Bool」は「Void」のサブタイプではありませんか?

  21. 21

    Swift:NSNumberはUIViewAnimationCurveのサブタイプではありません

  22. 22

    「タイプ「String」の値をタイプ「AnyObject?」に割り当てることはできません」、Swift 3、Xcode 8ベータ6

  23. 23

    「タイプ「String」の値をタイプ「AnyObject?」に割り当てることはできません」、Swift 3、Xcode 8ベータ6

  24. 24

    「タイプ「String」の値をタイプ「AnyObject?」に割り当てることはできません」、Swift 3、Xcode 8ベータ6

  25. 25

    '[NSObject:AnyObject]?'からキャスト 無関係なタイプ「NSDictionary」は常に失敗します

  26. 26

    Swift:NSNumberをNSStringに変換します(NSNumberはNSStringのサブタイプではありません)

  27. 27

    AnyObjectはswiftを使用してStringに変換できません

  28. 28

    NSDictionaryからブリッジした後、[NSObject:AnyObject] Swiftディクショナリから要素を参照する方法

  29. 29

    Swiftは、IBAction "Any"を介して複数のボタンを接続できませんが、 "AnyObject"を介して問題ありません。

ホットタグ

アーカイブ