【问题标题】:Getting a list of all object properties [duplicate]获取所有对象属性的列表[重复]
【发布时间】:2012-11-11 05:31:50
【问题描述】:

可能重复:
Get an object attributes list in Objective-C

我正在尝试找到一种方法来遍历对象上的所有属性并将第一个非空属性的值分配给另一个变量。所有这些属性都是字符串,我正在尝试使用 isEqualToString:@"" 在将第一个非空属性分配给另一个变量之前手动检查每个属性。有没有办法通过迭代每个属性而不是让 if 条件单独检查每个属性来有效地做到这一点?

【问题讨论】:

  • 您是在尝试序列化还是复制对象?

标签: objective-c ios cocoa-touch


【解决方案1】:

Giuseppe 的回答很好,但您似乎不需要为此复杂化。

如果你说所有属性都是字符串,为什么不使用 NSArray 并使用快速枚举,检查字符串是否在数组中,如果不添加就添加。这样您就没有限制(以防您以后需要修改项目)。

即使使用不同类型的变量/属性,这也可以工作。当您遍历数组时,只需使用isSubclassOfClass: 来检查类型。

【讨论】:

    猜你喜欢
    • 2011-09-20
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 2011-09-12
    相关资源
    最近更新 更多