gpt4 book ai didi

ios - NSURL请求错误: "[CoreData length]: unrecognized selector sent to instance"

转载 作者:行者123 更新时间:2023-11-29 04:10:30 24 4
gpt4 key购买 nike

我有一个链接,正在另一个 View 中的二维码扫描仪中扫描,然后将其保存到 Core Data 中。我保存它的实体称为“BarCode”,其属性为“number”。您稍后将看到的提取结果是 QR 码扫描的正确 URL。我刚刚收到一个错误,就像我在标题中列出的错误一样。它的字面意思是:-[BarCode length]:无法识别的选择器发送到实例 0x210645e0

我正在执行这个 block ,它也会引发错误:

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"BarCode"];
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"number" ascending:NO];
request.sortDescriptors = @[sortDescriptor];

NSError *error = nil;
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
NSString *currentURL = [[self.managedObjectContext executeFetchRequest:request error:&error] objectAtIndex:indexPath.row];
if (error) {
NSLog(@"error fetching data %@ %@", error, error.userInfo);
}

[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:currentURL]]];

我知道从 NSArrayNSString 的转换导致了错误,因为它“无法识别”。但我做了一些研究,发现错误中的“lenght”属性与 NSURLRequest 类中的某些内容有关,但我对这个类是全新的,所以我不知道不知道我需要如何重写这个 block 。

我尝试搜索了一下,但找不到涉及 NSFetchRequestNSURLRequest 的示例。

我真的希望有人能对此有所了解。谢谢!

最佳答案

您的currentURL将保存NSManagedObject子类的实例,而不是NSString。您缺少几行代码:

MyManagedObject *myManagedObject = [[self.managedObjectContext executeFetchRequest:request error:&error] objectAtIndex:indexPath.row];
// This is what you are missing:
NSString *currentURL = myManagedObject.someStringAttribute;
if (error) {
NSLog(@"error fetching data %@ %@", error, error.userInfo);
}

[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:currentURL]]];

您收到错误-[BarCode length]:无法识别的选择器发送到实例0x210645e0,因为[NSURL URLWithString:currentURL]假设currentURL是一个字符串,并且NSURL 尝试进行一些字符串验证。

关于ios - NSURL请求错误: "[CoreData length]: unrecognized selector sent to instance",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14474268/

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