2014-01-10 66 views
-1

我有一個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 

我想設置國家名稱,sortName和resultName在我NIDropDown

感謝

+0

你做了什麼?分享您的代碼 – Retro

+0

任何錯誤或警告 –

+0

未知類型名稱爲'DirectoryFormViewController' – Vishnu

回答

2

這裏的答案很簡單:你應該從來沒有,沒有任何理由在UIView內創建一個視圖控制器的實例。所以,迄今爲止你還沒有取得成功的事實是一件好事。

iOS上的Apple開發方式是使用Model, View, Controller設計模式。在MVC中,控制器控制着模型和視圖,並且介於兩者之間......而不是相反。

我的建議是在閱讀開發之前閱讀鏈接並充分理解它。通過理解所涉及的主題,您永遠不會做像UIView這樣的表視圖委託/數據源的事情(因爲通過這樣做,您的視圖瞭解模型,並打破了MVC),並且您絕對不會嘗試做一些事情,比如在UIView中創建一個UIViewController。

相關問題