【发布时间】:2011-09-14 22:40:35
【问题描述】:
我正在经历一些 fpr Objective-C 的演练,并且我到了许多让我大吃一惊的地方。我很想把它们弄下来。
消息发送和方法调用有根本区别吗? Objective-C 让我两者都做:
object.message产生与[object message]相同的结果。我认为可能无法使用点运算符策略创建嵌套消息?-
我创建了一个
NSArray对象,现在我将使用NSEnumerator打印结果:id myObject = [object objectEnumerator];在 while 循环中迭代并打印结果。
myObject的 type 是id,这意味着它是在运行时解析的,而不是编译时解析的。我非常清楚我的NSArray中存储了什么样的对象——它们是NSStrings——所以通过将myObject的类型更改为NSString * myObject,它工作得很好。但是,我进行了实验,发现myObject可以是任何类型,无论是NSString或NSArray还是NSEnumerator,这些都可以正常工作,完美地迭代NSArray对象并产生相同的结果结果。 这是怎么回事?
【问题讨论】:
标签: objective-c