我有一种方法可以通过3种不同的方法调用。
每种方法都通过标志指示它希望从方法接收哪种数据。在这个例子中,我们调用标志'objectType'。
'calledMethod'需要查看objectType并根据它创建正确的对象。
'calledMethod'然后需要返回它收到的相同objectType,以便调用方法获得正确的objectType。
我在下面提供了示例代码,我知道这是不正确的,但它让您了解我想要实现的目标。请注意,所有3个对象都具有'testInt'objectKey。
例如
-(NSObject *)calledMethod : (int)objectType
{
NSObject *einStein;
switch (objectType)
{
case 1: // this is an NSUserDefaults object
einStein = [NSUserDefaults standardUserDefaults];
break;
case 2: // this is an PFUser object
einStein = [PFUser currentUser];
break;
case 3: // this is a custom object
einStein = [TestData personData];
break;
default:
break;
}
int *testCnt = [einStein objectForKey@"testInt"];
testCnt = testCnt++;
[einStein setObject:testCnt forKey:@"testInt"];
return einStein;
}
答案 0 :(得分:0)
我认为Sinisa可能正确地使用了Factory Patterns,但是在我拥有它的时候实现它太复杂了,所以将来会尝试使用