0

我有两个类,A 类和 B 类。它们都可以在控制器中调用相同的方法。他们调用的方法需要一个CGPoint. 有什么方法可以确定论点来自哪个类?

我尝试过使用以下内容:

if ([point isKindOfClass:[_territoryPaths class]])
{
    NSMutableDictionary *territoryPaths = [_territoryPaths territoryPaths];
}

if ([piont class] == [_territoryPaths class])
{
    NSMutableDictionary *territoryPaths = [_territoryPaths territoryPaths];
}

pointCGPoint该方法所采用的。

4

1 回答 1

5

如果您想在不是 ClassA 或 ClassB 的类中使用此方法,则处理这种情况的最佳方法是修改您的方法,使其接受发送者并对发送者值执行 isKindOfClass。

例如:

- (void)someMethod:(id)sender withPoint:(CGPoint)point
{
    if ([sender isKindOfClass:[ClassA class]])
    {
        // Do class A stuff
    }
    else if ([sender isKindOfClass:[ClassB class]])
    {
        // Do class B stuff
    }
    else
    {
        // Unknown class
    }
}
于 2013-05-11T20:52:47.310 回答