我正在iTunesU上读斯坦福大学的iTunesU课程,并对如何在作业4中完成最近观看的照片部分感到有点困惑。
在分配中,我们将有一个带两个选项卡的选项卡条控制器。第一个选项卡是一个导航控制器,它将显示一个位置表,它将推送一个图片名称表,它将用一个照片推动滚动视图,第二个选项卡是一个导航控制器,它将显示一个最近查看的照片表,它将推动一个带有照片的滚动视图。
我有第一个选项卡工作,现在当我按滚动视图与图像,我也想添加到最近的照片阵列,哪个MVC应该拥有这个最近的照片阵列?
第二个选项卡的根表视图控制器(如何将当前的照片传递给另一个选项卡)(坦白地说,第一个选项卡的第一个选项卡应该知道第二个选项卡的信息):第一个选项卡的根表视图控制器(第二个选项卡如何从第一个tab?)
中提取这些数据)
我想我对MVC的,协议,委托和数据源还不太清楚。如果你有这个任务的解决方案,我会非常感激的。
最后,我推送并从用户默认值中提取数据。虽然我很好奇为什么选项卡条控制器不打算用于子类。当多个选项卡需要数据时,这似乎是数据最符合逻辑的位置。
发布于 2012-03-10 06:13:55
经过一系列额外的搜索之后,我没有找到一种将数据从选项卡传递到选项卡的一致方法。
由于我们只存储了相对较少的数据,所以我决定创建一个类,使用类方法(为了方便)将数据推入用户默认设置中。
发布于 2012-03-09 05:35:37
我也做过类似的事情,如果我不完全回答你的问题,你可以创建一个Singelton,它可以充当某种共享数据库。它永远不会以正常的方式初始化,只是在您第一次使用它时创建。这个单子可以包含您的数组,然后您可以从任何地方调用它,只需编写:
[SingeltonType main].sharedPhotos下面的示例来自我自己的代码,其中我有一个“用户”,它是应用程序的所有者。在那里,我存储了一个数据库,它可以在运行时从任何地方获得。
标题:
@interface User : NSObject {
Database *_storage;
}
@property (nonatomic, retain) Database *storage;
+(User*)owner;主档案:
#import "User.h"
@implementation User
@synthesize password = storage = _storage;
static User* _owner = nil;
+(User*)owner {
@synchronized([User class]) {
if(!_owner) [[self alloc] init];
return _owner;
}
return nil;
}
+(id)alloc {
@synchronized([User class]) {
NSAssert(_owner == nil, @"Attempted to allocate a second instance of a singleton.");
_owner = [super alloc];
return _owner;
}
return nil;
}
-(id)init {
self = [super init];
if(self != nil) {
self.storage = [[[Database alloc] init] autorelease];
}
return self;
}然后我就这样叫它:
[User owner].storage // which gives me access to it 希望这能帮上忙!如果您需要访问来自不同位置的数据,则非常有用:)
注意:您将只有这个对象的一个实例,不能创建更多的实例。
发布于 2012-07-05 05:18:56
我用协议把这个问题搞砸了。我在类中创建了显示图像(和UIScrollView)的协议。然后,我在“查看照片”tableController类中采用了该协议,并实现了传递所查看图像的协议方法。我遇到的问题是,如何将“查看照片”tableController类定义为委托,因为它还没有加载,而且可能要到查看图片之后才会加载。2)通过nav控制器和选项卡控制器如何工作,以指向声明协议的类。想听听这里的专家关于协议或类方法在编程方法上是否是正确的方法吗?
谢谢KB
https://stackoverflow.com/questions/9629168
复制相似问题