【发布时间】:2012-11-25 07:44:39
【问题描述】:
我正在开发一个带有拆分视图控制器的应用程序,并希望将主数据类存储在 App Delegate 中,以便我可以从多个视图(MasterView、DetailView 和多个 PopUps)访问它。
我有点菜鸟,不知道为什么会出现错误:
AppDelegate.m:31:26:在“MasterViewController”类型的对象上找不到属性“dataController”
以下是相关代码 - 非常感谢任何帮助。谢谢。
AppDelegate.h
#import <UIKit/UIKit.h>
@class EventClassDataController;
@class MasterViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
AppDelegate.m
#import <UIKit/UIKit.h>
@class EventClassDataController;
@class MasterViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
MasterViewController.h
#import <UIKit/UIKit.h>
@class DetailViewController;
@class EventClassDataController;
@interface MasterViewController : UITableViewController
@property (strong, nonatomic) EventClassDataController *dataController;
@property (strong, nonatomic) DetailViewController *detailViewController;
@end
MasterViewController.m
#import "MasterViewController.h"
#import "DetailViewController.h"
#import "EventClassDataController.h"
#import "EventClass.h"
@interface MasterViewController ()
@end
@implementation MasterViewController
@synthesize detailViewController, dataController;
- (void)awakeFromNib
{
self.clearsSelectionOnViewWillAppear = NO;
self.contentSizeForViewInPopover = CGSizeMake(320.0, 600.0);
[super awakeFromNib];
// Initialize event data
self.dataController = [[EventClassDataController alloc] init];
}
EventClassDataController.h
#import <Foundation/Foundation.h>
@class EventClass;
@interface EventClassDataController : NSObject
@property (nonatomic, copy) NSMutableArray *masterEventList;
-(NSUInteger)countOfList;
-(EventClass *)objectInListAtIndex:(NSUInteger)theIndex;
-(void)addNewEvent:(EventClass *)event;
-(void)removeEvent:(EventClass *)event;
@end
【问题讨论】:
-
您显示 AppDelegate.h 两次。
-
粘贴
import和AppDelegate.m:31的代码。 -
您的 appDelegate 中的数据类在哪里......?
-
感谢您的帮助,但我选择了不同的方向。我知道将数据放在应用程序委托中是不好的做法,所以我想出了如何在其他地方管理数据。
-
@devpreneur 听起来你解决了这个问题。但是,您的问题的原因并不是由于将数据放入应用程序委托的不良做法,您可能会再次遇到这种情况。在下面查看我的答案,以了解问题所在。
标签: objective-c ios appdelegate