gpt4 book ai didi

objective-c - 使用发件人姓名创建动态 key

转载 作者:行者123 更新时间:2023-11-29 04:47:27 26 4
gpt4 key购买 nike

我正在尝试存储 NSUserDefault 信息以跟踪一大堆 UITextField 对象中的所有值。

尽管 View Controller 知道这些文本字段的每个实例,但我试图避免为每个文本字段创建一个 key ,例如:

- (BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];

NSString *curKey=[NSString string];
if (textField == nameField) {
curKey=@"nameField";
}else if (textField == dateField){
curKey=@"dateField";
}else if (textField == cityField){
curKey=@"cityField";
}else if (textField == ageField){
curKey=@"ageField";
}else if (textField == colorField){
curKey=@"colorField";
}
[[NSUserDefaults standardUserDefaults] setObject:textField.text forKey:curKey];

return YES;
}

是否没有办法确定实例的名称来动态创建 key ?我还尝试使用 IB 的“用户定义的运行时属性”(如 myName)来使 UITextField 知道它的名称:

[[NSUserDefaults standardUserDefaults] setObject:textField.text forKey:[textField valueForKey:@"myName"]];

使用 int 标签不会产生有趣的键...

我不记得任何其他对象(以任何语言)具有知道其他人如何调用它们的实例,但我正在寻找想法。

谢谢。

最佳答案

基本上你有两个选择。

如果您有固定数量的文本字段,则应该为每个文本字段创建一个属性(您可以通过界面构建​​器的 socket 连接它)并执行

if (textField == self.nameField)
<小时/>

第二种方法类似,但对于大量文本字段/或动态数量的文本字段:

使用像 @"cityField"这样的键将每个文本字段添加到字典

使用 NSString *key =[[字典 allKeysForObject:textFiled] objectAtIndex:0];

<小时/>

许多其他类似的方法也是可能的:将键和文本字段保留在单独的数组中。使用

NSUInteger index =[fields indexForObject:textField];
NSString *key = [keys objectAtIndex:indey];

关于objective-c - 使用发件人姓名创建动态 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9403803/

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