执行 segue 时出错:-[UITextField 长度]:无法识别的选择器发送到实例 [关闭]
Posted
技术标签:
【中文标题】执行 segue 时出错:-[UITextField 长度]:无法识别的选择器发送到实例 [关闭]【英文标题】:Error when performing segue: -[UITextField length]: unrecognized selector sent to instance [closed] 【发布时间】:2014-02-24 01:04:02 【问题描述】:我有一些代码可以在我的应用中切换到另一个屏幕:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData*)data
NSString *dataString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Performing Segue...");
// Open detail segue
[self performSegueWithIdentifier:@"DetailViewSegue" sender:dataString];
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)json
NSLog(@"Testing...");
// If we are going to the success view, send the JSON data over as well!
if ([segue.identifier isEqualToString:@"DetailViewSegue"])
DetailViewController *DetailViewControllerSegue = [segue destinationViewController];
NSDictionary *jsonSendetAsParamInPerformSegue = (NSDictionary*)json;
DetailViewControllerSegue.jsonString = jsonSendetAsParamInPerformSegue;
当我尝试执行 segue 时出现此错误:-[UITextField length]: unrecognized selector sent to instance 0x14589970
错误是什么意思?我该如何解决?
谢谢,
彼得
【问题讨论】:
在下一个视图的 viewDidLoad 或 viewWillAppear 中是否有任何文本字段被访问/操作? (“dataString”应该是什么?) dataString 是从 Web 服务器接收的 JSON 字符串。我可以确认 dataString 很好,因为我在 NSLog 中调用它。 viewDidLoad 中正在处理一些文本字段,我现在会检查一下。 unrecognized selector sent to instance 0x6b61d10的可能重复 SO 有数百万个问题。为什么人们不能因为重复的问题而停止关闭它们,这是预期的!!!!!!! 【参考方案1】:UITextField
没有名为 length
的选择器。您可能想要的是在文本字段的text
属性上调用length
。
[someTextField.text length]
(我实际上在发布的代码中没有看到与文本字段相关的任何内容......但这是给定错误消息的唯一解释)
【讨论】:
我不明白为什么?我在视图控制器中有一些文本字段。此外,没有任何文本字段与 segue 被更改有关? 只需查看您的代码并找出您在哪里调用length
选择器。这显然是问题所在。我也不明白为什么,因为您没有发布与您收到的错误消息相关的代码。
我根本没有调用长度选择器。这就是我困惑的地方?
@PeterStuart - 查看异常堆栈!!【参考方案2】:
出现此错误的原因是我的 Storyboard Segue Identifier 中有错字且不匹配:
@"DetailViewSegue"
在:
[self performSegueWithIdentifier:@"DetailViewSegue" sender:dataString];
我希望这对以后的其他人有所帮助
彼得
【讨论】:
如果是这种情况,请接受您自己的答案以结束此问题。 @Marco 您需要至少等待 2 天才能接受自己的答案。愚蠢,我知道。 我不知道。无论如何,感谢您发布自己问题的答案,并不是每个人都花时间这样做。以上是关于执行 segue 时出错:-[UITextField 长度]:无法识别的选择器发送到实例 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
将 unwind segue 与 UISearchController 一起使用时出错