Ich habe einen designierten Initialisierer mit optionalen Argumenten (ähnlich dem folgenden Code), und ich möchte eine Autorelease-Methode erstellen, indem ich sie aufruft. Gibt es eine Möglichkeit, dies zu tun?Wie senden Sie optionale Argumente an eine andere Funktion/Methode?
@interface MyObject : NSObject
- (id)initWithArgs:(id)firstArg, ...;
+ (id)objectWithArgs:(id)firstArg, ...;
@end
@implementation MyObject
- (id)initWithArgs:(id)firstArg, ...
{
if (!firstArg || ![super init]) {
return nil
}
va_list argList;
va_start(argList, firstArg);
id currentObject = firstArg;
do {
NSLog(@"%@", currentObject);
} while ((currentObject = va_arg(argList, id)) != nil);
va_end(argList);
return self;
}
+ (id)objectWithArgs:(id)firstArg, ...
{
// return [[[MyObject alloc] initWithArgs:firstArg, ...] autorelease];
}
@end
nächstes Mal auf die Site suchen Erstens gibt es Tonnen von Duplikaten dafür. –