public bool RequestImage(string url, IImageUpdated receiver) {
var local = RequestLocalImage(url);
if (local != null) {
receiver.UpdatedImage(url, local);
return true;
}
if (pendingRequests.ContainsKey(url)){
pendingRequests[url].Add(receiver);
} else {
pendingRequests.Add(url, new List<IImageUpdated>(){receiver});
}
NSUrlRequest req = new NSUrlRequest(new NSUrl(url), NSUrlRequestCachePolicy.ReturnCacheDataElseLoad, 10);
new UrlConnection("img"+url, req, (UIImage img)=>{
var surl = url;
cache[surl] = img;
var imgreq = pendingRequests[surl];
foreach (var v in imgreq)
v.UpdatedImage(surl, img);
pendingRequests.Remove(surl);
});
return false;
}
public UIImage RequestLocalImage(string url) {