【问题标题】:How to compare a.value & b.value if they has the same type?如果它们具有相同的类型,如何比较 a.value 和 b.value?
【发布时间】:2017-01-29 11:35:48
【问题描述】:

我通过 KVC 获取了“a”对象。 (不知道“a”的确切类别) 然后我也通过 KVC 获取了“b”(也不知道“b”的确切类别)

我想比较 a.value 和 b.value。 如果那些“值”是相同的类型(NSString / NSDate / NSNumber)

如何完成这些任务?

【问题讨论】:

  • 你怎么知道两者都有.value
  • 请将使用的语言添加到标签中。
  • 我刚刚遍历了多种类型的 NSManagedobject 列表。然后将它们与 [anyJsonDic allkeys] 进行比较。然后通过 "key" 匹配它们。与“关键”。这个键应该有相同的@"name",所以我可以从 a 传输值。至 。乙。问题是,尽管我知道它们具有相同的名称,但我不能保证(CoreData Entity 设置值类型是否正确??)。谢谢

标签: ios objective-c


【解决方案1】:
if ([a isEqual:b]) {
    // the same type and value
} else {
    // different type or value
}

【讨论】:

  • 问题是 NSMObj 还没有任何价值。我只想比较变量的“类型”。 if (NSMObj.unknowVar isSameTypeAs b.unknownVar) ...
  • @Memexeiei 要比较您可以使用的类:if ([a isMemberOfClass:[b class]]) {}。
  • 一些。 .unknowVar 是原始变量。如何比较它们..谢谢
  • @Memexeiei AFAIK,在 KVC 中,原始值被隐式包装在对象类中,如 NSNumber。
猜你喜欢
  • 2020-06-08
  • 2020-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多