Это не в моей голове, не проверено:
NSThread+ManyObjects.h
* * 1004
@interface NSThread (ManyObjects)
+ (void)detachNewThreadSelector:(SEL)aSelector
toTarget:(id)aTarget
withObject:(id)anArgument
andObject:(id)anotherArgument;
@end
NSThread+ManyObjects.m
@implementation NSThread (ManyObjects)
+ (void)detachNewThreadSelector:(SEL)aSelector
toTarget:(id)aTarget
withObject:(id)anArgument
andObject:(id)anotherArgument
{
NSMethodSignature *signature = [aTarget methodSignatureForSelector:aSelector];
if (!signature) return;
NSInvocation* invocation = [NSInvocation invocationWithMethodSignature:signature];
[invocation setTarget:aTarget];
[invocation setSelector:aSelector];
[invocation setArgument:&anArgument atIndex:2];
[invocation setArgument:&anotherArgument atIndex:3];
[invocation retainArguments];
[self detachNewThreadSelector:@selector(invoke) toTarget:invocation withObject:nil];
}
@end
И тогда вы можете импортировать NSThread+ManyObjects
и позвонить
[NSThread detachNewThreadSelector:@selector(loginWithUser:user:password:) toTarget:self withObject:@"someusername" andObject:@"somepassword"];