小编Nar*_*ari的帖子

列表<? 生成 extends Something > 而不是 List<Something>

我有一个服务调用,它返回一个 JSON 响应,然后通过数据管理器传递该响应,如果服务成功,则该数据管理器会转换数据;如果调用失败,则创建一个错误正文。

数据管理器是用 kotlin 编写的,我感兴趣的特定代码行是这样的

val mutableList = mutableListOf<Address>()
return Result.error(errorTransformation(serviceErrors, mutableList))
Run Code Online (Sandbox Code Playgroud)

我的 errorTransformation 类基本上是一个 Exception 调用,这是用 java.io.ErrorTransformation 编写的。异常类的构造函数是

ExceptionClass(ServiceErrors serviceError ,List<Address> address){
    // initiialize fields here
}
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试初始化异常类时,它说找到了适当的构造函数,并且向我显示了使用语法生成异常类的建议

ExceptionClass(ServiceErrors serviceError ,List<? extends Address> address){
    // initiialize fields here
}
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?我只想要List<Address>,不想要List<? extends Address>

java generics android kotlin rx-java2

6
推荐指数
1
解决办法
448
查看次数

如何从 Jenkins 创建 aab 而不是 apk

我想将我的个人应用程序配置为构建为 android 应用程序包而不是 Jenkins 中的 apk。我如何配置我的 Jenkins 来构建 aab 而不是 apk

android apk jenkins android-app-bundle

3
推荐指数
1
解决办法
3894
查看次数

IOS | 无法更改应用程序委托中的根视图控制器

我正在构建一个应用程序,如果用户登录,则必须更改其根视图控制器。假设用户已登录,我必须将选项卡栏控制器显示为主屏幕,如果用户未登录,我必须显示身份验证控制器。我的两个控制器都是故事板控制器。现在在我的应用程序委托中,我放置了以下代码

        window = UIWindow(frame: UIScreen.main.bounds)

        if UserDefaults.standard.bool(forKey: Constants.UserDefaultsKeys.isLoggedIn){
            initialViewController = storyboard.instantiateViewController(identifier: Constants.StoryBoards.homeViewController) as! TabController
        }else{
            initialViewController = storyboard.instantiateViewController(identifier: Constants.StoryBoards.authenticationController)
        }
        window?.rootViewController = initialViewController
        window?.makeKeyAndVisible()
Run Code Online (Sandbox Code Playgroud)

根据代码,如果用户登录,则TabController必须显示。但它没有被显示。我已经尝试过调试并且TabController正在viewDidLoad调用,但仍然authenticationController显示我的,这可能是因为authenticationController被设置为初始视图控制器故事板。有人可以帮我解决这个问题吗

storyboard uiviewcontroller ios swift

2
推荐指数
1
解决办法
3148
查看次数

将远程图像加载到 Tableview 单元格中

我正在从服务中获取图像到表格视图单元格中。我有图像 URL,我可以cellForRowAtIndexPathlayoutSubViews表格视图单元格的方法中或在 方法中获取图像。哪个是获取远程数据最有效的地方

cellForRowAtIndexPath方法

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell =  self.tableView.dequeueReusableCell(withIdentifier: "custom") as! MovieViewCell
    cell.title =  searchResultMovies[indexPath.row].title
    cell.movieImage = searchResultMovies[indexPath.row].poster
    return cell
}
Run Code Online (Sandbox Code Playgroud)

layoutSubViews方法

override func layoutSubviews() {
    super.layoutSubviews()
    if let title = self.title{
        titleLabel.text = title
    }
    if let movieImage = self.movieImage {
        movieImageView.loadImageFromString(imageString: movieImage)
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您注意到上面的代码,您可以看到我正在loadImageFromString从内部调用,layoutsubviews也可以在 cellForRowAtIndexPath. 哪个是更好的地方,为什么?

uitableview uikit ios swift

1
推荐指数
1
解决办法
62
查看次数

Kotlin 数据类的扩展函数

我有一个看起来像这样的数据类

data class SuggestionResponse(
  val metadata: Metadata,
  val response: Response
)

data class Response(
 ///blah blah
)

data class Metadata(
  val timeleft: String,
  val totalTime: String
)
Run Code Online (Sandbox Code Playgroud)

现在我需要将此数据转换为不同类型的数据对象。我想编写一个扩展函数来完成此任务。让函数的名字是你好

我想像这样调用这个扩展函数

suggestionResponse.hello()

我如何编写扩展功能?。任何帮助将不胜感激

android kotlin data-class

0
推荐指数
1
解决办法
3857
查看次数