gpt4 book ai didi

ios - 连接表单文本字段的下一个字段链

转载 作者:行者123 更新时间:2023-11-29 02:17:07 24 4
gpt4 key购买 nike

我正在尝试连接注册表单中的文本字段,以便在完成每个字段的按下后,表单中的下一个字段会自动变为事件状态。为此,我在注册 View 的 View Controller 中扩展了 UITextField 类,如下所示。

@interface UITextField (Extended)
@property (nonatomic, weak) IBOutlet UITextField* nextField;
@end

然后我通过界面构建​​器为表单中的每个字段设置了 nextField 导出,并在 View Controller 中实现了以下代码,它也充当表单中文本字段的委托(delegate)。

- (BOOL) textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
UITextField* field = textField.nextField;
if (field)
[field becomeFirstResponder];
return NO;
}

但是在构建和运行应用程序时,它会立即崩溃并出现以下错误:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', 
reason:'[<UITextField 0x78729580> setValue:forUndefinedKey:]:
this class is not key value coding-compliant for the key nextField.'

对于如何解决这个问题有点迷茫,我们将不胜感激!提前致谢。

最佳答案

只需删除所有 socket 并重新创建它们。您只是错过或重复了其中一个,因为您有多个文本字段,所以很可能出了问题。并确保每个 nextField 确实指向下一个字段:)

更新:现在是深夜,所以我错过了一个大问题。您不能像那样通过类别向现有类添加新属性。原因是类别无法在幕后创建支持变量。 (有一种关联对象的方法......但最好不要深入研究那个黑魔法。)

UItextField+extended 类别,子类 UITextfield 类。

@interface CustomTextField : UITextField

@property (nonatomic, strong) IBOutlet UITextField *nextField;

@end

然后在界面生成器中,您必须在类检查器中为每个文本字段设置 CustomTextfield 类。

关于ios - 连接表单文本字段的下一个字段链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28639318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com