gpt4 book ai didi

iphone - 核心数据实体属性的初始值?

转载 作者:行者123 更新时间:2023-12-03 17:30:57 24 4
gpt4 key购买 nike

我有几个核心数据实体,其中包含一堆空的 NSString 属性。

我解析了一些 XML 并设置了我可以获取的属性,并希望将“空”属性设置为“n/a”,如“不可用”中所示。因此,如果我的 XML 不包含值,它会通过给它一个“n/a”字符串来整理实体,我可以稍后进行测试,如果其中之一使其成为 UILabel,它也不会显示 (null) ..这引出了我的问题:

我这样做是为了测试实体上的属性是否已经存在、nil或为空:

    for(NSString *s in allPossibleStrings) {

if([[f valueForKey:s] isKindOfClass:[NSString class]] && [[f valueForKey:s] isEqualToString:@""]) {
[f setValue:@"n/a" forKey:s];
}
if ([[f valueForKey:s] isKindOfClass:[NSString class]] && [f valueForKey:s] == nil) {
[f setValue:@"n/a" forKey:s];
}
}

但事实证明,我最终仍然有很多值显示为 (null)。所以我在想该属性是否可以是 @"" 空或 (nil)

以外的东西

我相信 NSManagedObject 应该符合 KVC 标准,所以我做了一个测试,我按属性复制了 NSManagedObject 属性,唯一的区别是它只是 NSObject 而不是 NSManagedObject 的子类。遗憾的是,这的行为方式完全相同。它还将值保留为 (null)

希望有人能够发现我在这些字符串测试中出错的地方:)

谢谢

最佳答案

您可以将实体的默认属性值设置为“N/A”(这是一个很好的做法,因为您可能希望使用 sqlite 进行 iPhone 应用程序传送,并且它不能很好地处理空值,因为 sqlite 和 cocoa 没有与“null”相同的愿景)并将“可选”设置为“否”。

 if([[f valueForKey:s] isKindOfClass:[NSString class]] && [[f valueForKey:s] isEqualToString:@"NA"]) {
//Tell your program to know that it's null if it needs to know
}

干杯

关于iphone - 核心数据实体属性的初始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2179208/

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