2012-12-09 143 views
0

在我的應用程序中,當我單擊我的RightBarButtonItem時,它將推送另一個視圖控制器,但它顯示以下錯誤。NSCFString _forgetDependentDestradependentConstraint發送到實例的無法識別的選擇器

-[__NSCFString _forgetDependentConstraint:]: unrecognized selector sent to instance 0x74c5960 

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString _forgetDependentConstraint:]: unrecognized selector sent to instance 0x74c5960' 

我不知道我犯的錯誤。

但在視圖控制器我把僅此代碼viewDidLoad第二視圖控制器

  [self.navigationController setNavigationBarHidden:TRUE animated:YES]; 




     first view controller contains the following code 

     - (void)viewDidLoad 
     { 
      [super viewDidLoad]; 

      [self.navigationController setNavigationBarHidden:TRUE animated:YES]; 
     baseView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 416)]; 

      UINavigationBar *navBar1 = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; 
      UINavigationItem *navItem1 = [[UINavigationItem alloc] initWithTitle:@""]; 
      [navBar1 pushNavigationItem:navItem1 animated:NO]; 
      UIBarButtonItem *menuButton1 = [[UIBarButtonItem alloc] initWithTitle:@"" 
                      style:UIBarButtonItemStyleBordered 
                      target:self 
                      action:@selector(toggleMenu1)]; 
      navItem1.leftBarButtonItem = menuButton1; 
      [baseView.self addSubview:navBar1]; 
      UIImageView *backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"scr2.png"]]; 
      [baseView.self addSubview:backgroundImage]; 

      UIPanGestureRecognizer *pancontrol = [[UIPanGestureRecognizer alloc] 
              initWithTarget:self action:@selector(panLayer:)]; 
      [self.view addGestureRecognizer:pancontrol]; 

      topView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 416)]; 

      UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; 
      UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:@""]; 
      [navBar pushNavigationItem:navItem animated:NO]; 
      UIBarButtonItem *menuButton = [[UIBarButtonItem alloc] initWithTitle:@"Menu" 
               `enter code here`       style:UIBarButtonItemStyleBordered                 target:self 
                      action:@selector(toggleMenu)]; 
      navItem.leftBarButtonItem = menuButton; 
      UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithTitle:@"Add" 
                      style:UIBarButtonItemStyleBordered 
                     target:self 
                     action:@selector(toggleAdd)]; 
      navItem.rightBarButtonItem = addButton; 
      [topView.self addSubview:navBar]; 
      backgroundImage1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"notebookbg.png"]]; 
      [topView.self addSubview:backgroundImage1]; 
      [baseView.self addSubview:topView]; 
      [self.view addSubview:baseView]; 
       } 

這些都是我的代碼。

如何從此第一個視圖控制器移動到下一個視圖控制器。

+0

您在哪裏調用此方法_forgetDependentConstraint? –

+0

如果它在推入後中斷,那麼它會在你的'viewDidLoad'和可能在'viewDidAppear'或類似的地方崩潰。你知道它打破了什麼路線嗎? – John

+0

嗨請粘貼一些mote代碼... – Rajneesh071

回答

1

這個問題似乎與AddNewNote類有關。正如Cocoanetics建議的那樣,在NSString上創建一個類別並在該類別中實現_forgetDependentConstraint:。在.PCH文件中添加#import用於新類別標題文件

1

聽起來像我沒有正確地分配一個實際的NSString到第一個或第二個視圖控制器的標題或文本屬性之一。

要找出問題出在哪裏,請執行以下操作: - 在NSString上實現一個調試類別並添加一個_forgetDependentConstraint:方法,該方法只包含一個斷點。 - 當此方法執行中斷時,請檢查調用堆棧以查看它究竟在哪裏破壞 - 還要檢查方法內部的自我並檢查哪個字符串是罪魁禍首。

這聽起來好像你在你的視圖層次結構中有一個NSString而不是UIView。 UIView子類有這個_forgetDependentConstraint:方法,但字符串沒有。

+0

我需要把這個方法..在第一個viewcontroller或第二? - (IBAction)_forgetDependentConstraint:(id)sender { NSLog(@「」); } – Rajendran

+0

@raaj都沒有。 「在** NSString **上實現調試類別」... – 2012-12-09 14:52:53

+0

我不明白我需要做什麼。我需要更清楚。因爲我對這個開發很陌生 – Rajendran

相關問題