方法中的选择器骑行

时间:2015-07-04 09:55:04

标签: ios objective-c

如果方法超过了目标c,那么选择器如何知道哪个方法需要通过选择器调用?

因为我们没有在slector部分传递任何参数......

例: 在tmp.m文件中 有两种不同参数的方法

-(void)details
{

}

-(void)details:(NSDictionary *)result
{

}

当m使用选择器调用另一个方法时:

[mc detailstrac:[[NSUserDefaults standardUserDefaults] valueForKey:@"userID"] tracid:self.trac_id selector:@selector(details:)];

选择器如何知道调用哪种方法!

我检查了那个

-(void)details:(NSDictionary *)result
{
}

这个方法每次都被调用

-(void)details
{
}

这个?

1 个答案:

答案 0 :(得分:3)

Selector将根据您的示例

知道如何调用该方法
[mc detailstrac:[[NSUserDefaults standardUserDefaults] valueForKey:@"userID"] tracid:self.trac_id selector:@selector(details:)];

当你调用@selector(details :)时,选择器将调用此方法

-(void)details:(NSDictionary *)result { }

当您调用@selector(详细信息)时,选择器将调用

-(void)details { }

这里的主要区别是 @selector(详情) @selector(详情:)

希望你理解我的观点! 快乐的编码!