【问题标题】:Why aren't my nimbus didImageLoad methods being called?为什么没有调用我的 nimbus didImageLoad 方法?
【发布时间】:2012-01-31 22:23:14
【问题描述】:

我是 Nimbus 的新手。现在我的应用程序正在尝试通过此代码检索 4 张图片:

for (int i=minFoto; i<=maxFoto; i++) {

    NINetworkImageView* networkImageView = [self networkImageView];

    NSString *resourceURL = [NSString stringWithFormat:@"%@registration/rest/users/account_get_foto/%@?fotoId=%d", baseURL, ssid,  i];

    NSLog(resourceURL);

    [networkImageView setPathToNetworkImage:resourceURL
                             forDisplaySize: CGSizeMake(50, 50)
                                contentMode: networkImageView.contentMode];

我知道我的循环正在工作,因为我看到所有四个 NSLog 都正确输出。但是,我只得到第一张图片。 networkImageViewDidStartLoad 只被调用一次,并且 didLoadImage 或 networkImageViewDidFailLoad 都没有被调用。我认为 didLoadImage 从未被调用很奇怪。绝不。我知道我有数据,因为我正在使用 CharlieProxy(BTW 很棒的应用程序,非常值得 50 美元),它会在响应数据包中显示图像数据。

所以我从我的代表那里评论了这个:

[[Nimbus networkOperationQueue] setMaxConcurrentOperationCount:1];

正如您所料,我收到了 4 次 networkImageViewDidStartLoad 调用,但 didLoadImage 或 networkImageViewDidFailLoad 仍然为零。

这是我的请求标头(来自 CharlieProxy)

GET /registration/rest/users/account_get_foto/fdbc2222-7b75-4ff4-b111-623e951e5b00?fotoId=134     HTTP/1.1
Host: -------------:8080
User-Agent: Ferret/1.0 CFNetwork/548.0.3 Darwin/11.2.0
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: keep-alive

这是响应标头,显示“200 OK”

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet/3.0; JBossAS-6
Content-Type: image/*
Content-Length: 461109
Date: Tue, 31 Jan 2012 21:12:33 GMT

âPNG (png data deleted...)

我现在有点困惑。我的服务器显然正在返回图像数据,但我的应用程序没有得到它。有什么想法吗?

【问题讨论】:

    标签: ios nimbus-ios


    【解决方案1】:

    嗯,我找到了。不妨把答案留给未来的谷歌人。

    我的 networkImageView 超出范围并被 ARC 处理。有趣的是,我以为我已经把它保存了,但那段代码被部分注释掉了!

    【讨论】:

      猜你喜欢
      • 2015-08-01
      • 1970-01-01
      • 2017-12-07
      • 2019-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      相关资源
      最近更新 更多