我的应用程序中有一个UIImageView - *bannerImageView
,它使用 AFNetworking 方便的 - (void)setImageWithURLRequest:placeholderImage:success:failure:
方法。
为准备使用此方法,我必须创建一个NSURLRequest
对象,如下所示:
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.images.com/image.png"]];
问题:
有没有办法可以存储这个网址(我想在一个文本文件中?)在网上某个地方,我的应用总是会指向寻找要求的网址?< / p>
原因是由于我正在开发的项目的某些情况,我需要在将来更频繁地更改图像的URL,并且为此目的必须推送整个应用更新没有意义
P.S。在我的- (void)viewDidLoad
中,我有一行代码启动 networkActivityIndicator - [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
。我是否有更好的位置插入此代码,而不是每次加载视图时启动 networkActivityIndicator ,并且只在 - (void)setImageWithURLRequest:placeholderImage:success:failure:
的成功块中停止>强>方法?
谢谢你的帮助!
答案 0 :(得分:1)
如果我理解正确,则必须为所有用户全局更改徽标。如果是这样,并且如果您在服务器端具有完全控制权,则有两个选项:
在这两种情况下,请记住使用正确的过期http标头,以便让iOS不时检查。
顺便说一下,正如我所说,你检查txt文件的解决方案,它是完全有效的。但即使在这种情况下,请记住在这样的http请求上设置过期标头,也许是“无缓存”。
答案 1 :(得分:0)
我已经找到了一种在移动BaaS(后端即服务)的帮助下实现这一目标的简单方法。我决定使用Parse。
在那里可用的许多功能中,我使用了数据浏览器以下是我所做的一个例子:
Advertisement
AdURL
*的字符串列(以及我需要的与该对象相关的任何信息,例如AdName或AdImage等及其各自的数据类型)*。AdURL
列。将来,如果我需要更改值(在这种情况下,当用户点击UIButton时将在Safari中打开的URL),我只需要返回Parse的数据浏览器来更改该特定值,每当应用程序需要查找该值时,更改将立即反映出来,它会对指定列的类,对象和值创建新查询。
以下是我的应用中的查询代码示例:
- (IBAction)bannerBtnTapped:(id)sender
{
// Create PFQuery object.
PFQuery *query = [PFQuery queryWithClassName:@"EXAMPLECLASS"];
[query getObjectInBackgroundWithId:@"EXAMPLEOBJECTID" block:^(PFObject *object, NSError *error)
{
// "object" will be the row that is returned according to your specified class and ObjectID. Assigned the returned value to an NSURL var "*url"
NSURL *url = [NSURL URLWithString:object[@"EXAMPLECOLUMNNAME"]];
// Open the url in Safari.
[[UIApplication sharedApplication] openURL:url];
}];
}
希望这个简单的解决方案能帮助将来的某个人!
答案 2 :(得分:-1)
您可以使用Apple的iCloud存储该网址。
然后,您可以使用e NSUbiquitousKeyValueStoreDidChangeExternallyNotification
跟踪更改。您可以查看apple's documentation