为什么我的prepareForSegue崩溃

时间:2015-05-04 13:31:35

标签: ios uitableview nsindexpath

我试图通过navigationController通过segue传递IndexPath,但它在线崩溃:

<script src="/path/to/config.js"></script>
<script> alert(appConfig.URL);</script>

感谢

public string empstatus(string trmdate, string status)
 { 
   if( trmdate!= NULL)
     { 
       if(status = "RETIREE") 
         { 
           return "RT"; 
         } 
       else retun "FT"; 
     } 
   else return "TF";
 }

$(function () {
   $("#btnSubmit").click(function () {
   $("#btnClass").removeClass("btnDiv").addClass("btn");
   });
});

在这里回答:Set NSString Object, prepareForSegue through UINavigationController

2 个答案:

答案 0 :(得分:0)

我看到很多错误:

永远不会定义

self.selectedAccountRow,改为:

-(IBAction)changeButtonPressed:(id)sender {
  CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.accountTableView];
  NSIndexPath *indexPath = [self.accountTableView indexPathForRowAtPoint:buttonPosition]
  self.selectedAccountRow = indexPath;
}

使用[segue destinationViewController]时,您需要确保您的分组是正确的类:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
  ViewController2 *view = (ViewController2*)[segue destinationViewController];
  view.selectedAccount = self.selectedAccountRow;
}

没有必要声明它是强大的,因为它是默认的,但它是推荐者,因为它更容易阅读,并且它是一个很好的编码实践。

@property (strong, nonatomic) NSIndexPath *selectedAccount;

你需要更好地命名类和属性,如果你声明一个viewController子类,名称应该是自我解释的,也许你可以在detailViewController上命名viewController2。< / p>

另外,你应该考虑为你的课程使用2-3个字母前缀,请在这里阅读好的obj-c练习: Objective-C Good practices

答案 1 :(得分:-2)

右键单击IB中的视图,然后删除存在黄色警告标志的实例。运行,一切都应该工作。