我正在制作一个应用程序,作为其中的一部分需要从2个RSS源下载信息。
但是,这些Feed会在整个应用中使用该信息,并且可能会或可能不会重新加载,因为用户需要查看他们选择的UIViewController
。
所以我的问题是:
建议在UIAppDelegate
的应用程序负载上设置这些数组,还是在性能方面是否是一个很大的禁忌?
我的代码正常运行,我只是想知道执行它以最大限度地减少数据使用量的最佳位置,同时最适合整个应用程序访问?
任何帮助都会很棒,因为如果我需要继续这样做,有很多代码需要转移。 谢谢你的建议。
PS我知道我可以做很多阅读和正在做的事情,使用SO是本研究的一部分,以获得开发人员的意见。我希望它不会违反任何规则或让人不安:-)
答案 0 :(得分:0)
将文件创建为NSObject,像这样做标题;
@interface myData : NSObject
{
NSMutableArray *myDataArray;
}
@property (nonatomic, retain) NSMutableArray *myDataArray;
+ (myData *)sharedData;
@end
然后在.m中添加此
#import “myData.h”
static myData *sharedData;
@implementation myData
@synthesize myDataArray;
+ (myData *)sharedData
{
if(!sharedData)
{
sharedData = [[myData alloc] init];
}
return sharedData;
}
- (id)init
{
self = [super init];
if(self)
{
myDataArray = [[NSMutableArray alloc] init];
}
return self;
}
然后在每个VC中,只需#import“myData.h”,并在需要时执行此操作;
myData *localShared = [myData sharedData];
localShared.myDataArray = // This is your array and will look the same throughout
NSString *myStringObj = localShared.myDataArray[4]; // So you can do this kind of stuff
这是从记忆中,我没有测试但我认为这非常接近。希望它有所帮助。