这里有两种情况:
1) 当 ObjectA 调用两次时,ObjectB 可能有不同的属性传递给它
2) 对象 B 只传递了一组属性,对象 A 需要 Bethod B1 和 B2 才能运行,而对象 B 保留相同的属性。
3) 如果对象 B 需要传递给它的新参数,使用 getter 和 setter?
场景一:
对象A.m:
...
ObjectB *objectB = [[ObjectB alloc] initWithSomeParameter:@"the parameter"];
NSString *callback1 = [objectB methodB1];
// why release when you can repoint?
ObjectB *objectB = [[ObjectB alloc] initWithSomeParameter:@"another parameter"];
NSString *callback2 = [objectB methodB2];
[objectB release];
场景二:
对象A.m:
...
ObjectB *objectB = [[ObjectB alloc] initWithSomeParameter:@"the parameter"];
NSString *callback1 = [objectB methodB1];
NSString *callback2 = [objectB methodB2];
[objectB release];
场景 3:
对象A.m:
...
ObjectB *objectB = [[ObjectB alloc] initWithSomeParameter:@"the parameter"];
NSString *callback1 = [objectB methodB1];
[objectB setSomeParameter:@"another parameter"];
NSString *callback2 = [objectB methodB2];
[objectB release];
当您说 ObjectB 回调时?我希望你不是说:
对象A.m:
ObjectB *objectB = [[ObjectB alloc] initWithSomeParameter:@"the parameter"];
NSString *callback1 = [objectB methodB1];
...
对象B.m:
...
//DO some work in method B1
ObjectA *objectA [[ObjectA alloc] init];
[objectA callback];
那是一个记忆线索,然后……如果这就是你的意思,那么我建议阅读我上面的场景或查看 NSNotificationCentre 通知以获取跨对象通知,即回调。