我有两个类,A类和B类。它们都可以在控制器中调用相同的方法。他们调用的方法采用CGPoint
。有什么方法可以确定论证来自哪个类?
我尝试过使用以下内容:
if ([point isKindOfClass:[_territoryPaths class]])
{
NSMutableDictionary *territoryPaths = [_territoryPaths territoryPaths];
}
if ([piont class] == [_territoryPaths class])
{
NSMutableDictionary *territoryPaths = [_territoryPaths territoryPaths];
}
point
是该方法所接受的CGPoint
。
答案 0 :(得分: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
}
}