纠结于如何使用 api 响应进行调用以从不同的链接检索响应

2023-12-07

我目前在使用 PokeApi 时遇到问题。我有代码可以让我查看 Pokemon 的名称以及 Pokemon 的其他 JSON 的 URL,但我不太确定如何检索该数据。这是我到目前为止所拥有的。这是 api 的链接!让 pokeList =

import Foundation

// MARK: - Pokemon
struct PokemonList: Codable {
    let count: Int
    let results: [Result]
}

// MARK: - Result
struct Result: Codable, Identifiable {
    let id = UUID()
    let name: String
    let url: String
    enum CodingKeys: String, CodingKey {
        case name, url
    }
}

// MARK: - Pokemon
struct Pokemon: Codable, Identifiable {
    let abilities: [Ability]
    let baseExperience: Int
    let forms: [Species]
    let gameIndices: [GameIndex]
    let height: Int
    let id: Int
    let isDefault: Bool
    let locationAreaEncounters: String
    let moves: [Move]
    let name: String
    let order: Int
    let species: Species
    let sprites: Sprites
    let stats: [Stat]
    let types: [TypeElement]
    let weight: Int
}

// MARK: - Ability
struct Ability:  Codable {
    let ability: Species
    let isHidden: Bool
    let slot: Int
}

// MARK: - Species
struct Species:  Codable  {
    let name: String
    let url: String
}

// MARK: - GameIndex
struct GameIndex:  Codable{
    let gameIndex: Int
    let version: Species
}

// MARK: - Move
struct Move: Codable  {
    let move: Species
}

// MARK: - Sprites
struct Sprites: Codable {
    let backDefault: String
    let backFemale: String
    let backShiny: String
    let backShinyFemale: String
    let frontDefault: String
    let frontFemale: String
    let frontShiny: String
    let frontShinyFemale: String
}


// MARK: - Home
struct Home: Codable {
    let frontDefault: String
    let frontFemale: String
    let frontShiny: String
    let frontShinyFemale: String
}

// MARK: - Other
struct Other: Codable {
    let home: Home
    let officialArtwork: OfficialArtwork
}

// MARK: - OfficialArtwork
struct OfficialArtwork: Codable {
    let frontDefault: String
}

// MARK: - Stat
struct Stat: Codable {
    let baseStat: Int
    let effort: Int
    let stat: Species
}

// MARK: - TypeElement
struct TypeElement: Codable {
    let slot: Int
    let type: Species
}

Web服务检索API调用的代码进口基金会

    class PokeWebService: ObservableObject{
        
        @Published var pokeList: PokemonList?
        @Published var pokemonIndvl: Pokemon?
            
        
        func getPokemonList() async throws {
            let (data, _) = try await URLSession.shared.data(from: Constants.url.pokeList)
                Task{@MainActor in
                    self.pokeList = try JSONDecoder().decode(PokemonList.self, from: data)
                }
        }
        
        func getPokemonFromPokemonList(invlURL: String) async throws{
            var plURL: URL = URL(string: invlURL)!
            let (data, _) = try await URLSession.shared.data(from: plURL)
                Task{@MainActor in
                    self.pokemonIndvl = try JSONDecoder().decode(Pokemon.self, from: data)
                    
                }
        }
        
    }
    
     

我的内容视图

import SwiftUI

struct PokeListView: View {
    @EnvironmentObject var pokeWebService: PokeWebService
    var body: some View {
        List(pokeWebService.pokeList?.results ?? []){ pokemon in  // <-- here
            Text(pokemon.name)
            Text(pokemon.url)
            
        }
        .task {
            do{
                try await pokeWebService.getPokemonList()
                
            } catch{
                print("---> task error: \(error)")
            }
        }
    }
}

struct PokeListView_Previews: PreviewProvider {
    static var previews: some View {
        PokeListView()
            .environmentObject(PokeWebService())
    }
}

由于我对于在 Swift 中使用 API 还很陌生,我将如何从 Pokemon.url 检索数据?

谢谢你!


尝试类似的方法(注意不同的模型结构)。您需要从服务器文档中查找哪些字段是可选的并调整各种结构:

import Foundation
import SwiftUI


struct ContentView: View {
    @StateObject var pokeWebService = PokeWebService()
    
    var body: some View {
        PokeListView().environmentObject(pokeWebService)
    }
}

struct PokeListView: View {
    @EnvironmentObject var pokeWebService: PokeWebService
    
    var body: some View {
        NavigationStack {
            List(pokeWebService.pokeList?.results ?? []){ pokemon in
                NavigationLink(pokemon.name, value: pokemon.url)
            }
            .navigationDestination(for: String.self) { urlString in
                PokeDetailsView(urlString: urlString)
            }
        }
        .environmentObject(pokeWebService)
        .task {
            do {
                try await pokeWebService.getPokemonList()
            } catch{
                print("---> PokeListView error: \(error)")
            }
        }
    }
}

struct PokeDetailsView: View {
    @EnvironmentObject var pokeWebService: PokeWebService
    @State var urlString: String
    
    var body: some View {
        VStack {
            Text(pokeWebService.pokemonIndvl?.name ?? "no name")
            Text("height: \(pokeWebService.pokemonIndvl?.height ?? 0)")
            // ... other info
        }
        .task {
            do {
                try await pokeWebService.getPokemon(from: urlString)
            } catch{
                print("---> PokeDetailsView error: \(error)")
            }
        }
    }
}

class PokeWebService: ObservableObject{
    
    @Published var pokeList: PokemonList?
    @Published var pokemonIndvl: Pokemon?
    
    func getPokemonList() async throws {
        let (data, _) = try await URLSession.shared.data(from: Constants.url.pokeList)
        Task{@MainActor in
            self.pokeList = try JSONDecoder().decode(PokemonList.self, from: data)
        }
    }
    
    func getPokemon(from urlString: String) async throws {
        if let url = URL(string: urlString) {
            let (data, _) = try await URLSession.shared.data(from: url)
            Task{@MainActor in
                self.pokemonIndvl = try JSONDecoder().decode(Pokemon.self, from: data)
            }
        }
    }
    
}

// using https://app.quicktype.io/

// MARK: - PokemonList
struct PokemonList: Codable {
    let count: Int
    let results: [ListItem]  // <-- don't use the word Result
}

// MARK: - ListItem
struct ListItem: Codable, Identifiable {
    let id = UUID()
    let name: String
    let url: String
    enum CodingKeys: String, CodingKey {
        case name, url
    }
}

struct HeldItem: Codable {
    let item: Species
    let versionDetails: [VersionDetail]

    enum CodingKeys: String, CodingKey {
        case item
        case versionDetails = "version_details"
    }
}

struct VersionDetail: Codable {
    let rarity: Int
    let version: Species
}

 // MARK: - Pokemon
 struct Pokemon: Codable, Identifiable {
     let abilities: [Ability]
     let baseExperience: Int
     let forms: [Species]
     let gameIndices: [GameIndex]
     let height: Int
     let heldItems: [HeldItem]
     let id: Int
     let isDefault: Bool
     let locationAreaEncounters: String
     let moves: [Move]
     let name: String
     let order: Int
     let pastTypes: [String]
     let species: Species
     let sprites: Sprites
     let stats: [Stat]
     let types: [TypeElement]
     let weight: Int

     enum CodingKeys: String, CodingKey {
         case abilities
         case baseExperience = "base_experience"
         case forms
         case gameIndices = "game_indices"
         case height
         case heldItems = "held_items"
         case id
         case isDefault = "is_default"
         case locationAreaEncounters = "location_area_encounters"
         case moves, name, order
         case pastTypes = "past_types"
         case species, sprites, stats, types, weight
     }
 }

 // MARK: - Ability
 struct Ability: Codable {
     let ability: Species
     let isHidden: Bool
     let slot: Int

     enum CodingKeys: String, CodingKey {
         case ability
         case isHidden = "is_hidden"
         case slot
     }
 }

 // MARK: - Species
 struct Species: Codable {
     let name: String
     let url: String
 }

 // MARK: - GameIndex
 struct GameIndex: Codable {
     let gameIndex: Int
     let version: Species

     enum CodingKeys: String, CodingKey {
         case gameIndex = "game_index"
         case version
     }
 }

 // MARK: - Move
 struct Move: Codable {
     let move: Species
     let versionGroupDetails: [VersionGroupDetail]

     enum CodingKeys: String, CodingKey {
         case move
         case versionGroupDetails = "version_group_details"
     }
 }

 // MARK: - VersionGroupDetail
 struct VersionGroupDetail: Codable {
     let levelLearnedAt: Int
     let moveLearnMethod, versionGroup: Species

     enum CodingKeys: String, CodingKey {
         case levelLearnedAt = "level_learned_at"
         case moveLearnMethod = "move_learn_method"
         case versionGroup = "version_group"
     }
 }

 // MARK: - GenerationV
 struct GenerationV: Codable {
     let blackWhite: Sprites

     enum CodingKeys: String, CodingKey {
         case blackWhite = "black-white"
     }
 }

 // MARK: - GenerationIv
 struct GenerationIv: Codable {
     let diamondPearl, heartgoldSoulsilver, platinum: Sprites

     enum CodingKeys: String, CodingKey {
         case diamondPearl = "diamond-pearl"
         case heartgoldSoulsilver = "heartgold-soulsilver"
         case platinum
     }
 }

 // MARK: - Versions
 struct Versions: Codable {
     let generationI: GenerationI
     let generationIi: GenerationIi
     let generationIii: GenerationIii
     let generationIv: GenerationIv
     let generationV: GenerationV
     let generationVi: [String: Home]
     let generationVii: GenerationVii
     let generationViii: GenerationViii

     enum CodingKeys: String, CodingKey {
         case generationI = "generation-i"
         case generationIi = "generation-ii"
         case generationIii = "generation-iii"
         case generationIv = "generation-iv"
         case generationV = "generation-v"
         case generationVi = "generation-vi"
         case generationVii = "generation-vii"
         case generationViii = "generation-viii"
     }
 }

 // MARK: - Sprites
 class Sprites: Codable {
     let backDefault: String
     let backFemale: String?
     let backShiny: String
     let backShinyFemale: String?
     let frontDefault: String
     let frontFemale: String?
     let frontShiny: String
     let frontShinyFemale: String?
     let other: Other?
     let versions: Versions?
     let animated: Sprites?

     enum CodingKeys: String, CodingKey {
         case backDefault = "back_default"
         case backFemale = "back_female"
         case backShiny = "back_shiny"
         case backShinyFemale = "back_shiny_female"
         case frontDefault = "front_default"
         case frontFemale = "front_female"
         case frontShiny = "front_shiny"
         case frontShinyFemale = "front_shiny_female"
         case other, versions, animated
     }

 }

 // MARK: - GenerationI
 struct GenerationI: Codable {
     let redBlue, yellow: RedBlue

     enum CodingKeys: String, CodingKey {
         case redBlue = "red-blue"
         case yellow
     }
 }

 // MARK: - RedBlue
 struct RedBlue: Codable {
     let backDefault, backGray, backTransparent, frontDefault: String
     let frontGray, frontTransparent: String

     enum CodingKeys: String, CodingKey {
         case backDefault = "back_default"
         case backGray = "back_gray"
         case backTransparent = "back_transparent"
         case frontDefault = "front_default"
         case frontGray = "front_gray"
         case frontTransparent = "front_transparent"
     }
 }

 // MARK: - GenerationIi
 struct GenerationIi: Codable {
     let crystal: Crystal
     let gold, silver: Gold
 }

 // MARK: - Crystal
 struct Crystal: Codable {
     let backDefault, backShiny, backShinyTransparent, backTransparent: String
     let frontDefault, frontShiny, frontShinyTransparent, frontTransparent: String

     enum CodingKeys: String, CodingKey {
         case backDefault = "back_default"
         case backShiny = "back_shiny"
         case backShinyTransparent = "back_shiny_transparent"
         case backTransparent = "back_transparent"
         case frontDefault = "front_default"
         case frontShiny = "front_shiny"
         case frontShinyTransparent = "front_shiny_transparent"
         case frontTransparent = "front_transparent"
     }
 }

 // MARK: - Gold
 struct Gold: Codable {
     let backDefault, backShiny, frontDefault, frontShiny: String
     let frontTransparent: String?

     enum CodingKeys: String, CodingKey {
         case backDefault = "back_default"
         case backShiny = "back_shiny"
         case frontDefault = "front_default"
         case frontShiny = "front_shiny"
         case frontTransparent = "front_transparent"
     }
 }

 // MARK: - GenerationIii
 struct GenerationIii: Codable {
     let emerald: Emerald
     let fireredLeafgreen, rubySapphire: Gold

     enum CodingKeys: String, CodingKey {
         case emerald
         case fireredLeafgreen = "firered-leafgreen"
         case rubySapphire = "ruby-sapphire"
     }
 }

 // MARK: - Emerald
 struct Emerald: Codable {
     let frontDefault, frontShiny: String

     enum CodingKeys: String, CodingKey {
         case frontDefault = "front_default"
         case frontShiny = "front_shiny"
     }
 }

 // MARK: - Home
 struct Home: Codable {
     let frontDefault: String
     let frontFemale: String?
     let frontShiny: String
     let frontShinyFemale: String?

     enum CodingKeys: String, CodingKey {
         case frontDefault = "front_default"
         case frontFemale = "front_female"
         case frontShiny = "front_shiny"
         case frontShinyFemale = "front_shiny_female"
     }
 }

 // MARK: - GenerationVii
 struct GenerationVii: Codable {
     let icons: DreamWorld
     let ultraSunUltraMoon: Home

     enum CodingKeys: String, CodingKey {
         case icons
         case ultraSunUltraMoon = "ultra-sun-ultra-moon"
     }
 }

 // MARK: - DreamWorld
 struct DreamWorld: Codable {
     let frontDefault: String
     let frontFemale: String?

     enum CodingKeys: String, CodingKey {
         case frontDefault = "front_default"
         case frontFemale = "front_female"
     }
 }

 // MARK: - GenerationViii
 struct GenerationViii: Codable {
     let icons: DreamWorld
 }

 // MARK: - Other
 struct Other: Codable {
     let dreamWorld: DreamWorld
     let home: Home
     let officialArtwork: OfficialArtwork

     enum CodingKeys: String, CodingKey {
         case dreamWorld = "dream_world"
         case home
         case officialArtwork = "official-artwork"
     }
 }

 // MARK: - OfficialArtwork
 struct OfficialArtwork: Codable {
     let frontDefault: String

     enum CodingKeys: String, CodingKey {
         case frontDefault = "front_default"
     }
 }

 // MARK: - Stat
 struct Stat: Codable {
     let baseStat, effort: Int
     let stat: Species

     enum CodingKeys: String, CodingKey {
         case baseStat = "base_stat"
         case effort, stat
     }
 }

 // MARK: - TypeElement
 struct TypeElement: Codable {
     let slot: Int
     let type: Species
 }

EDIT-1:

如果您有问题NavigationStack, 用这个NavigationView反而。

NavigationView {
    List(pokeWebService.pokeList?.results ?? []){ pokemon in
        NavigationLink(destination: PokeDetailsView(urlString: pokemon.url)) {
            Text(pokemon.name)
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

纠结于如何使用 api 响应进行调用以从不同的链接检索响应 的相关文章

  • Jackson @JsonUnwrapped 行为与自定义 JsonSerializer

    我有两个这样的课程 public class A String aProp aProp public String getAProp return aProp public class B String bProp bProp A a ne
  • 如何在 Java 中使用 JsonPath 从 JSON 获取值?

    我想使用 JsonPath 从 JSON 对象中获取值 任何人都可以建议我我需要的适当的 jar 因为据我所知 我在用于 jsonpath 的 jar 中遇到了此异常 package jsonPg import java io IOExce
  • JSON.stringify() 和 JavaScript 对象

    我想也许我错过了 JavaScript 中的一些东西 而我现在才刚刚开始学习 我在 Chrome 控制台中尝试了以下代码 a a name test JSON stringify a which returns value a new Ob
  • SwiftUI 表未正确取消初始化关联实例

    我在 SwiftUI 中遇到了与工作表演示相关的令人费解的行为 当关闭工作表时 我注意到关联的实例 工作表视图持有的视图模型 似乎没有正确取消初始化 根据我的测试 唯一的情况是deinit使用时按预期被调用 StateObject 相比之下
  • Scala 中使用转义特殊字符解码字符串问题

    我有一个多行 JSON 文件 其中包含编码为十六进制的特殊字符的记录 以下是单个 JSON 记录的示例 x22value x22 x22 xC4 xB1arines Bint xC4 xB1 xC3 xA7 Ramu xC3 xA7lar
  • 检查 Python 中的有效 utf8 字符串

    我正在从文件系统读取文件名 并且想将它们作为 JSON 编码数组发送 问题是文件系统上的文件可以以无效的编码存储 我需要处理这种情况以在将其传递给之前省略无效的文件名json dump 否则会失败 有没有办法检查我的字符串 文件名 是否包含
  • 使用 JSON 和字典在 Python 中处理错误

    我目前有一个 Python 2 7 脚本 可以抓取 Facebook 并从每个页面捕获一些 JSON 数据 JSON 数据包含个人信息 JSON 数据的示例如下 id 4 name Mark Zuckerberg first name Ma
  • twig json_encode 空 json

    我正在从 API 接收元素列表 所有元素的格式都很好 当我使用树枝转储其中一个时 我得到以下信息 Leg 2695 id null reservation null airportStart AIX LES MILLES airplaneT
  • AngularJS:如何缓存从 $http 调用返回的 json 数据?

    如何缓存从 http 调用返回的 json 数据 我使用以下风格的 http 调用 http url SomeWebMethodUrl method POST data query somevalue headers Content Typ
  • 如何更改 angularjs $http.jsonp 的标头

    我读了document http docs angularjs org api ng 24http 但我想我一定是误解了 http defaults headers jsonp Accept application json http js
  • 如何在 AngularJS 中设置选择选项中的文本格式?

    我有以下 json 对象 scope values id 2 code Code 1 name Sample 1 id 4 code Code 2 name Sample 2 id 7 code Code 3 name Sample 3 在
  • 使用 Perl 循环 JSON [重复]

    这个问题在这里已经有答案了 我是 Perl 的新手 想要循环这个 JSON 数据并将其打印到屏幕上 我怎样才能做到这一点 arr Year 2012 Quarter Q3 DataType Other 3 Environment STEVE
  • 使 Picker 与其他 BinaryInteger 类型兼容

    Picker仅当与以下一起使用时才能正常工作Int 当使用任何其他类型的BinaryInteger它根本不更新选择 为了解决这个问题 我想做一个CompatilibityPicker但我必须承认我的理解Binding实际上工作给我带来了很多
  • 是否可以在响应完成之前读取 AJAX 请求?

    我有一个 ajax 请求需要一段时间才能完成 但服务器确实会输出一些内容 如果我只是在浏览器中加载请求 我可以看到页面正在缓慢加载 并且可以随时停止 是否可以在服务器关闭响应之前访问不完整的ajax请求 完成此操作的方法是通过侦听 xhr
  • 如何在 SwiftUI 中动态隐藏导航后退按钮

    我需要暂时地在异步操作期间隐藏视图中的后退按钮 我想防止用户在操作完成之前离开视图 隐藏它是可能的永久使用 navigationBarBackButtonHidden true 但是 显然用户在这种情况下无法返回 因此他们被卡住了 我缺少什
  • 我应该在 VS Code 中为“json.maxItemsCompulated”设置什么?

    默认状态为 5000 个符号 这取决于机器的性能还是其他什么 从 VS Code 设置 JSON 计算的最大项目数 计算的轮廓符号和折叠区域的最大数量 由于性能原因而受到限制 这与编辑器中的 GUI 按钮相关 您可以使用它来折叠 JSON
  • Swift Joint:在可观察对象中使用计时器发布者

    在这个问题被标记为重复之前这另一个问题 https stackoverflow com questions 57199922 create a timer publisher using swift combine 我试图了解出版商是如何运
  • Magento SOAP V2 API - 附加属性设置为空

    几个小时以来 我一直在尝试通过 SOAP V2 API 创建具有附加属性的产品 每当我打电话时就会添加该产品目录产品创建但我随请求发送的附加属性被设置为空 每当我不添加附加属性时 这两个属性都会设置为其默认值 因此我认为这些属性正在发送和接
  • org.apache.http 软件包在 API 级别 23 中被删除。替代方案是什么?

    在更新到最新的 android API 级别 23 Marshmallow 后 通过 build gradle 添加以下更改后 所有 org apache http 类都不起作用 android compileSdkVersion 23 b
  • 具有 jsonObject 的 android 列表视图

    我正在开展一项活动 该活动请求服务器上的一个 php 文件 此 php 文件将返回给我一个JSONArray having JSONObjects作为它的元素 我明白了jArray并提取其内容 例如所有jsonObjects 每个 json

随机推荐

  • 如何在java中序列化ArrayLIst而不出现错误?

    我只是想输出一个先前创建的 ArrayList 以将其序列化以供将来存储 但是当我尝试这样做时 我收到运行时错误 notSerializedException Department 有没有一种特殊的方法来序列化 arrayList 有人能告
  • JQuery 回调先前定义的函数

    我仍在学习 JQuery 因此学习了一点 JavaScript 但我似乎不知道如何在回调中使用先前定义的函数 假设我有 我希望在另一个函数中使用它 例如
  • MYSQL count(*) 和 count(1) 哪个更好?

    相关 SQL Server 计数 与计数 1 你能告诉我什么性能更好 MySQL 计数 还是计数 1 这是 MySQL 的答案 它们的执行完全相同 除非您使用 MyISAM 然后是一个特殊情况COUNT 存在 我总是用COUNT anywa
  • 如何使用 Google Apps 脚本将视频上传到 Youtube?

    我想使用 Google Apps 脚本通过 YouTube Data API v3 将视频上传到 YouTube 这是我的代码 function YouTubeAPI var url URL VIDEO var file UrlFetchA
  • WPF:按钮中奇怪的图像拉伸

    我有多个按钮 每个按钮都有一个 32x32 像素的 PNG 图像 奇怪的是 两个按钮显示不同的尺寸 是的 我三次检查图标确实是 32x32 秒按钮看起来大小为 48x48 像素 最有趣的是 如果我省略Stretch None 属性时 图标会
  • 了解Spring Cloud Eureka Server自我保存和更新阈值

    我对开发微服务还很陌生 尽管我已经研究它有一段时间了 阅读了 Spring 的文档和 Netflix 的文档 我开始了一个简单的项目可以在 Github 上找到 它基本上是一个 Eureka 服务器 阿基米德 和三个 Eureka 客户端微
  • 使用 DataOutputStream 将消息写入客户端套接字到服务器套接字仅在关闭客户端套接字后发送,为什么?

    我用 Java 进行了 Socket Client 编程 我正在使用 DataOutputStream 将消息发送到 Server Socket 有时 在 DataOutputstream 上写入的消息不会发送到 ServerSocket
  • 仅允许 oracle 数据库登录特定应用程序?

    我们希望仅通过我们自己的应用程序允许用户进行数据库访问 Oracle 让我们将其称为 ourTool exe 安装在用户计算机本地 目前 用户每次启动 ourTool 时都必须提供用户名 密码 提供的密码密码被解密 我们使用用户名 解密密码
  • 如何在数据库列中存储多个项目?

    在我的项目中 员工插入一个餐桌号 选择客户订购的所有商品并将其保存到数据库中 我有三张桌子 Employee empId firstname lastname Orders orderId tableNum empIDFK itemIDFK
  • 批处理脚本从文件中删除 BOM (ï¿)

    我创建了一个批处理脚本 用于将 SQL 文件从文件夹复制到一个大 SQL 脚本中 问题是当我运行这个 SQL 脚本时 它出现错误 附近的语法不正确 我将一个 SQL 脚本复制到 Notepad 中并将编码设置为 ANSI 我在发生错误的行上
  • 如何在PyGame中拖动多个图像?

    import pygame from pygame locals import pygame display init screen pygame display set mode 1143 677 img pygame image loa
  • 获取网页内容(通过AJAX调用加载)

    我是一个爬行初学者 我需要从链接中获取帖子和评论 我想自动化这个过程 我考虑过使用 webcrawler 和 jsoup 来实现此目的 但被告知 webcrawler 主要用于具有更大深度的网站 页面示例 Jive 社区网站 对于此页面 当
  • 无法使用 SCVMM powershell 模块提取虚拟网络名称

    我尝试使用 powershell 提取虚拟机的虚拟网络信息 我尝试使用正则表达式 但对于具有超过 1 个 NIC 的虚拟机 我无法看到输出 下面是我需要的输出 PS C gt get vm sql IAN01 Host select Exp
  • Swift:手势识别器无法识别选择器发送到实例

    我正在尝试在 XCode 中制作手势识别器 以便我可以点击 MKMapView 并执行一些操作 但是 每当我长按地图时 我都会收到 发送到实例的无法识别的选择器 这是我在 viewDidLoad 中的代码 let gestureRecogn
  • 在 JavaScript 中更改输入值并提交表单

    我目前正在制作一个基本表格 当您点击提交按钮时 它应该首先更改字段的值 然后像平常一样提交表单 一切看起来有点像这样
  • Jetty SslConnector 已弃用的方法

    SslConnector java最新的 Jetty 中的界面已更改7 3 1 v20110307 几乎所有方法都已被标记为已弃用 而没有提及要使用的替换接口或方法 我已经检查过码头用户 and 码头开发邮件列表中的信息没有运气 有谁知道将
  • Zend_Form:带有复选框的 HTML 表中的数据库记录

    我正在尝试将 HTML 多列表添加到 Zend Form 该表将由数据库中的数据填充 并且每行前面应有一个复选框 如下面的 ASCII 所示 Column 1 Column 2 Column 3 x Row 1 Some data more
  • 如何将 Drawable 资源写入文件?

    我需要出口一些Drawable资源到文件 例如 我有一个函数返回给我一个Drawable目的 我想把它写到一个文件中 sdcard drawable newfile png 我该怎么做 尽管这里的最佳答案有一个很好的方法 这只是链接 以下是
  • 向 Netbeans 应用程序的基于 Inno 的设置添加其他文件

    我在用Inno 5 设置安装程序位于Netbeans将我的 Java Swing 应用程序构建为可执行设置文件 它创建一个包含所有 lib 所有 jar 文件 和 app jar 的 app exe 安装文件 因此 一旦用户执行 app e
  • 纠结于如何使用 api 响应进行调用以从不同的链接检索响应

    我目前在使用 PokeApi 时遇到问题 我有代码可以让我查看 Pokemon 的名称以及 Pokemon 的其他 JSON 的 URL 但我不太确定如何检索该数据 这是我到目前为止所拥有的 这是 api 的链接 让 pokeList im