小编D.D*_*.D.的帖子

SwiftUI:为什么 ForEach 需要 ID?

我在 SwiftUI 视图中使用 ForEach 循环,并且收到奇怪的警告。

它工作得很好,像这样:

ForEach(0..<7) { i in
    // do something
}
Run Code Online (Sandbox Code Playgroud)

然后我将 7 更改为常数:

let numberOfElements = 7
ForEach(0..<numberOfElements) { i in
    // do something
}
Run Code Online (Sandbox Code Playgroud)

并收到以下警告:

非常量范围:参数必须是整数字面量

我用谷歌搜索发现以下有效的解决方案:

let numberOfElements = 7
ForEach(0..<numberOfElements, id:\.self) { i in
    // do something
}
Run Code Online (Sandbox Code Playgroud)

但是,我不知道它为什么有效。为什么我必须为 ForEach 循环提供一个 ID,该 ID 有何用途?

swiftui

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

@ 3x图片是强制性的吗?

我想更新一个在@ 3x资产之前开发的应用程序.如果我没有为每张图片添加@ 3x版本,我的应用会被拒绝吗?

objective-c app-store ios swift

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

尽管SDWebImage存在,但它仍然说"找不到URL"

我想从网上下载图像并将其设置为地图上的标记图标.下载我正在使用SDWebImage库.不幸的是,我总是得到一个错误,上面写着:

The requested URL was not found on this server.
Run Code Online (Sandbox Code Playgroud)

但URL存在.我尝试了不同的图片网址,每个人都可以在浏览器中打开,但我总是得到同样的错误.

这是我的代码:

let url=NSURL(fileURLWithPath:"http://blogs.taz.de/arabesken/files/2012/05/testbild-sendepause-300x240.jpg")

var managerCompletedBlock:(UIImage!, NSError!,SDImageCacheType,Bool) -> Void = {
                      image,error,cacheType,finished in
                      if(finished){
                            if let s = error.localizedDescription
                            {
                                 println(s)
                            }
                       }
      }
var imgManager:SDWebImageManager = SDWebImageManager.sharedManager()
imgManager.downloadWithURL(url, options: SDWebImageOptions.HighPriority, progress: nil, completed: managerCompletedBlock)
Run Code Online (Sandbox Code Playgroud)

我有互联网连接(API调用正在运行),URL存在.此外,如果我使用文件路径而不是Web URL,代码将按预期工作.

有谁知道问题是什么?

ios sdwebimage swift

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

标签 统计

ios ×2

swift ×2

app-store ×1

objective-c ×1

sdwebimage ×1

swiftui ×1