gpt4 book ai didi

objective-c - 如何验证所有 token 在 NSTokenField 中是否有效

转载 作者:太空狗 更新时间:2023-10-30 03:32:35 25 4
gpt4 key购买 nike

Apple 已经方便地创建了一个回调方法,允许您检查添加到 NSTokenField 的新 token 是否有效:

- (NSArray *)tokenField:(NSTokenField *)tokenField shouldAddObjects:(NSArray *)newTokens atIndex:(NSUInteger)index

我已经实现了这个,结果证明除了在一种情况下它工作得很好。如果用户开始输入 token ,但尚未完成输入 token ,并且用户按下了 TAB 键,则不会调用验证方法。

这意味着我能够确保输入的所有 token 均有效,除非用户知道他们可以按 Tab 键绕过验证。

有谁知道处理这种情况的正确方法是什么?

最佳答案

我试了一下,发现token字段在按下Tab键时调用了NSControlTextEditingDelegate协议(protocol)的control:isValidObject:。所以你可以实现一个委托(delegate)方法,比如

- (BOOL)control:(NSControl *)control isValidObject:(id)object
{
NSLog(@"control:%@", control);
NSLog(@"object:%@", object);
return NO;
}

'object' 参数是您的不完整 token 的内容。如果该方法返回 NO,则 token 不会被插入到有效 token 数组中。

关于objective-c - 如何验证所有 token 在 NSTokenField 中是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6359121/

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