Objective-C中第一个参数`identifier`究竟是什么?

时间:2016-08-18 13:13:12

标签: arguments

请注意,这可能是一个非常基本的问题。从JavaScript背景学习Objective-C。我想我需要额外解释下面的identifier参数究竟是什么?

- (BOOL)isEqualTo:(NSString *)identifier;

2 个答案:

答案 0 :(得分:2)

identifier参数是您需要比较的字符串。例如:

NSString* yourString = @"Hello"; 
BOOL match = [yourString isEqualToString: @"aString"]; //currently returns NO

//handle match value according to your needs, e.g with if-else syntax.  
if (match) { 
    //YES flow
}
else {
    //NO flow
}

其中@"aString"是一个方法参数,名为identifier(在您的情况下),用于isEqualToString API Foundation框架的实现。< / p>

答案 1 :(得分:1)

identifier是发件人(或调用者,即您在代码中)作为参数传递的对象的名称。[anObject isEqualTo: @"Something"];

在这种特殊情况下,你永远不会真正使用它,它是你发送的对象在isEqualTo的实现内部引用的名称。您无法看到Apple代码,但您知道他们使用identifier在该方法的上下文中命名对象。该指针必须指向NSString类的实例。