问题标签 [sdwebimage]

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.

0 投票
1 回答
1136 浏览

ios - iOS:每行有多个图像的 TableView (SDWebImage)

我对我的分段 tableview 有点绝望。我使用自定义 UITableViewCell 与 4 图像如下图:

我的自定义 UITableViewCell

我尝试通过 SDWebImage 为每个单元格加载图像。

加载过程都在我的自定义 UITableViewCell 中完成 - 而不是在 UITableViewController 中。从cellForRowAtIndexPathi just 调用[cell setup]在当前单元格中执行以下代码:

图像都存储在文档目录中,并且不大于最大值。500KB。

问题:

我的问题是,当我滚动浏览我的表格视图时,它突然崩溃了,我不知道为什么。为所有异常启用符号断点表明它由于 SDWebImage 中的一行而崩溃。不幸的是,没有调试器输出:(它在分配图像的地方崩溃)

我也尝试通过dispatch_asnyc类似的结果加载图像。是否可能与并发文件操作有关?

此外,当我快速滚动时,我会收到内存警告,因此我必须清除 SDWebImage 的缓存。同时停在上面提到的 SDWebImage 中的代码行。

我已经在网上搜索了 2 天,但没有找到有用的东西。我很高兴有一些提示可以解决这个问题。如果有人需要其他数据,例如崩溃报告或其他数据,请告诉我,我会尽快提供。

0 投票
2 回答
2313 浏览

ios - iOS SDWebImage NSURLErrorDomain 甚至在联系服务器之前出现错误 406,为什么?

我写了一个 WS,它提供的其中一件事是头像(上传和服务器)。唯一的问题是,每当我尝试使用 SDWebImage (UIButton+SDWebImage) 访问一个时,我的完成处理程序中都会出现上述错误。完整的错误是: (Error Domain=NSURLErrorDomain Code=406 "The operation could not be completed. (NSURLErrorDomain error 406.)" ) 奇怪的是服务器没有被触及(登录验证这个)!任何想法可能导致此问题以及如何解决?

PS如果我NSLog URL,然后将其复制并粘贴到浏览器中,它可以完美运行,所以它与SDWebImage或iOS有关。

编辑有问题的代码:

至于网址我宁愿不分享,因为我们目前没有域名,我不想给出我客户服务器的 ip……我相信你明白,但这里是url 减去正确的 ip(请注意,我必须添加空格才能发布编辑,它们不在实际 url 中):http://192 .168 .1 .21/uploads/51078f979c966bde0b000009/avatar.png

会不会是我的 WS 的问题?关于标题的东西还是什么?我知道它会发回“image/png”的内容类型,如果这有帮助的话,就像我说它在浏览器中完美运行一样。难道是因为它是一个ip而不是一个域名?

更新我们已经设置了域名,但它仍然无法正常工作,所以这里有一个可以在浏览器中使用的链接,但不适用于 SDWebImage 或 AFNetworking:http: //communication.notitlabs.co/uploads/511db303367885c248000015/avatar.png

0 投票
3 回答
3192 浏览

objective-c - 同一类上的两个类别具有相同的方法名称

我注意到 UIImageView 上的 AFNetworking 和 SDWebImage 类别具有相同的方法名称。

AF网络:

和 SDWebImage

在 Xcode 中,当我命令单击 SDWebImage 方法时,它会将我重定向到 AFNetworking 方法,反之亦然。

我可以在哪里期待哪种行为?我应该只在我想使用的类中包含适当类别的标题吗?如果同一个类需要使用该类别的两个实现怎么办?

另一个相关问题“如果两个 ObjC 类别覆盖相同的方法会发生什么? ”与此不完全相同,因为 AFNetworking 和 SDWebImage 都将类别添加到同一个类而不是子类中。在这种情况下,仅使用一次类,并且 2 个类别似乎存在冲突。

0 投票
0 回答
334 浏览

ios - SDWebImageProgressiveDownload 时应用程序崩溃

我正在使用 SDWebImage 库在表格视图中获取和缓存图像。但是,当我使用选项 SDWebImageProgressiveDownload 时,应用程序由于内存不足而崩溃。此外,该库下载图像的速度似乎很慢。我不认为它会缓存它们,因为每次我请求获取相同的时间来下载时。有没有人遇到过同样的问题?有解决方案吗?

0 投票
1 回答
3114 浏览

iphone - SDImageCache - imageFromMemoryCache 返回 nil

我正在使用最新版本的 SDWebImage (SDImageCache),并通过代码保存图像

并且我确定图像已成功保存,因为我检查了我的应用程序文件夹,其中存在图像。

我正在使用

读出我的图像,但图像对象返回 nil。问题可能是什么?谢谢!

0 投票
1 回答
397 浏览

sdwebimage - SDWebImage 的工作版本

我不小心从我的项目中删除了我的旧 SDWebImage 版本,现在我需要再次读取它。最新版本可以作为框架添加到 Xcode,但这不起作用,因为如果我这样做,我会得到左右链接器错误。

所以如果我只是有工作源代码就好了。但是,如果我从 github 页面下载源代码并将其添加到我的项目中,我会收到一些属性未合成或未声明的错误。

我在哪里可以获得 SDWebImage 的最新工作源代码?

0 投票
1 回答
222 浏览

objective-c - 当前版本的 SDWebImage 的问题

当我从 GitHub 存储库下载 SDWebImage 的最新源代码时,我得到了编译错误。

例如,在 SDImageCache.m 中,我有未声明或未合成的属性。在 initwithNameSpace 中:使用了一个名为 _ioQueue 的变量,但它没有在任何地方和其他一些地方声明。

SDWebImageManager.m 的 init 方法也是如此。它使用一个名为 _imageCache 的未声明变量。还有更多。

我在哪里可以下载这个项目的最新工作代码?

0 投票
11 回答
55619 浏览

objective-c - SDWebImage 下载图像并存储到缓存中以获取密钥

您好我在项目中使用 SDWebImage 框架,我想下载和缓存图像,但我认为我的代码将图像存储在缓存中两次?有没有办法通过一个键将图像存储在缓存中一次?这是我的代码。

有什么我错过的吗?看起来在我的分配工具中这样做会占用大量内存。

0 投票
2 回答
1451 浏览

iphone - 解释 SDWebImage 代码中的 __weak 和 __strong 使用原因

我想我很好理解强关键字和弱关键字,但我不明白它在下面的代码中是如何使用的。此代码来自 Olivier Poitrey 的 SDWebImage,可在 github 上找到。我理解这里描述的强弱关键字:iOS5 中强弱存储的解释

下面的代码以一种让我好奇的方式使用了 __weak 和 __strong 关键字。它不是我习惯于看到弱使用的子父关系或委托模式。但是,我确信这是一种经常使用的模式,正如我之前在其他代码中看到的那样。它在另一个线程上运行的块之前设置一个 __weak 引用。然后,在块内,它将弱引用设置为强引用。

我确信这个好的和优雅的代码,所以我试图理解它。如果“self”在块运行之前不再存在,弱自引用将归零。当块运行时,强引用也将设置为零。因此,它会知道杀死其余的操作,因为 self 不再存在。我做对了吗?

现在,如果我们不使用 __weak 和 __strong 关键字会发生什么?如果我们只是在块内部检查 self == nil 会怎样。由于块复制整个树,“自我”永远不会为零吗?

有人可以帮助揭开这段令人敬畏的代码的神秘面纱吗?有人可以验证或否定我的假设吗?

0 投票
2 回答
862 浏览

ios - 使用 SDWebImage 时图像不会被缓存

我无法让 SDWebImage 正常工作。

我的 UITableView 带有始终显示的图像,但缓存始终为空。

换句话说,图像没有连接到 SDWebImage 缓存。

此外,我在调用时收到错误无法识别的选择器发送到实例:

setImageWithURL:placeholderImage:options:

但是当我使用时错误消失了

setImageWithURL:placeholderImage:

有任何想法吗?