gpt4 book ai didi

ios - 如何从数组元素中删除括号

转载 作者:行者123 更新时间:2023-11-29 03:47:00 25 4
gpt4 key购买 nike

我有一个 iOS 应用程序,它使用 Core Data 来保存从服务器检索的信息。我使用基本的获取请求来获取给定实体的所有托管对象。 managedObjects 被放入一个数组中,我用它来填充 tableViewController。表中的每个单元格都有一个 UITextField,我试图将信息放入其中。我可以将数据输入文本字段,但每个元素都带有括号。 我怎样才能摆脱这些并只显示文本?

这是获取请求:

NSManagedObjectContext *moc = self.managedObjectContext;
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"UserInfo" inManagedObjectContext:moc];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];
NSArray *objects = [moc executeFetchRequest:request error:&error];

这是我用来填充文本字段的内容:

self.middleNameField.text = [[objects valueForKey:@"firstName"] description];
self.middleNameField.text = [[objects valueForKey:@"middleName"] description];
self.lastNameField.text = [[objects valueForKey:@"lastName"] description];

这是响应的样子

enter image description here

这个问题已被问过几次,但似乎所有人都希望立即显示数组的所有内容而不是特定元素。有些人推荐下面的方法。

self.firstNameField.text = [[[objects valueForKey:@"firstName"] stringByReplacingOccurrencesOfString:@"(" withString:@""]description];

但我收到此异常错误。

-[__NSArrayI stringByReplacingOccurrencesOfString:withString:]: unrecognized selector sent to instance

有人能给我指出正确的方向吗?我意识到我可能以错误的方式处理这件事。请毫不犹豫地推荐一种更好的方法来完成相同的任务。 片段确实很有帮助!

最佳答案

您的代码返回一个数组,因为您正在向数组询问 valueForKey

[对象 valueForKey:@"firstName"]

我建议这样做:

NSArray *objects = [moc executeFetchRequest:request error:&error];  
NSManagedObject *object = [objects lastObject];
if (object) {
self.middleNameField.text = [object valueForKey:@"firstName"];
self.middleNameField.text = [[object valueForKey:@"middleName"];
self.lastNameField.text = [[object valueForKey:@"lastName"];
}

如果对象数组为空,您可能需要将这些字段设置为 @""。取决于它们之前是否可以被填充。

如果您可以使用为模型生成的正确子类,我也不喜欢使用 NSManagedObject *object。假设相关类是 Person

Person *person = [objects lastObject];
if (person) {
self.middleNameField.text = person.firstName;

关于ios - 如何从数组元素中删除括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17625560/

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