我有一个UIView
子类。我无法在此UIView
类中创建另一个View Controller的实例,以便我可以访问此View Controller中UIView
子类中设置的变量?任何人都可以指导我这个
#import <UIKit/UIKit.h>
#import "DirectoryFormViewController.h"
@class NIDropDown;
@protocol NIDropDownDelegate
- (void) niDropDownDelegateMethod: (NIDropDown *) sender;
@end
@interface NIDropDown : UIView <UITableViewDelegate, UITableViewDataSource>
{
NSString *animationDirection;
UIImageView *imgView;
DirectoryFormViewController *dict; // i am not able to create this
}
@property (nonatomic, retain) id <NIDropDownDelegate> delegate;
@property (nonatomic, retain) NSString *animationDirection;
-(void)hideDropDown:(UIButton *)b;
- (id)showDropDown:(UIButton *)b:(CGFloat *)height:(NSArray *)arr:(NSArray *)imgArr: (NSString *)direction;
@property(nonatomic)int countryID;
@end
我的DirectoyFormViewController:
#import <UIKit/UIKit.h>
#import "NIDropDown.h"
@interface DirectoryFormViewController : UIViewController<DropDownListDelegate,CLLocationManagerDelegate,UISearchBarDelegate,UITextFieldDelegate,NIDropDownDelegate>
@property(nonatomic)NSMutableDictionary *countryName;
@property(nonatomic,copy)NSMutableDictionary *sortName;
@property(nonatomic,copy)NSMutableDictionary *resultName;
@end
我想在我的NIDropDown中设置countryName,sortName和resultName
由于
答案 0 :(得分:2)
以下是简短的回答:您应该永远不会出于任何原因在UIView内部创建视图控制器的实例。所以到目前为止你没有成功的事实是一件好事。
iOS上的Apple开发方式是使用Model, View, Controller设计模式。在MVC中,控制器控制模型和视图,并调解两者之间的通信......而不是相反。
我的建议是,在继续开发之前,您已阅读该链接并完全理解它。通过理解所涵盖的主题,你永远不会做像UIView那样的表视图委托/数据源(因为通过这样做,你的视图知道了模型,并打破了MVC),你希望永远不会尝试在UIView中创建一个UIViewController。