Just in case the styled text is stripped, here is the line I'm referring to from the header file:
+ (id)arrayWithObjects:(id)firstObj, ... NS_REQUIRES_NIL_TERMINATION; Sent from my iPad On Aug 21, 2013, at 2:58 PM, Alex Zavatone <z...@mac.com> wrote: > The approach I mentioned is what NSArray uses to allow an arbitrary amount of > objects in this call to init it. Supplying nil tells the runtime that there > are no more parameters. > > NSArray *myArray; > myArray = [NSArray alloc] initWithObjects: @"my String", @"another", @"more", > nil]; > > It's the nil termination of the parameters approach. > > How you do this is that bold line that I outlined earlier. > > Sent from my iPad > > On Aug 21, 2013, at 1:17 PM, "Stephen J. Butler" <stephen.but...@gmail.com> > wrote: > >> On Wed, Aug 21, 2013 at 4:22 AM, Dave <d...@looktowindward.com> wrote: >> >>> if ([myType isEqualToString:@"NSInteger"] ) >>> { >>> myNSInteger = va_arg(myArgumentList,NSInteger*); >>> // do something with myNSInteger >>> [myFormattedString appendFormat:@"myNSInteger = %d ", >>> myNSInteger]; >>> } >>> >>> else if ([myType isEqualToString:@"CGFloat"] ) >>> { >>> myCGFloat = va_arg(myArgumentList, CGFloat*); >>> // do something with myCGFloat >>> [myFormattedString appendFormat:@"myCGFloat = %f ", >>> myCGFloat]; >>> } >> >> >> This is better, however... if you pass an actual NSInteger or CGFloat to >> the method, va_arg() should have a type of NSInteger or CGFloat, not >> pointers to those types. Your code examples with it's printf style formats >> is using the former, not the latter. Just to be clear, you can have all >> these cases: >> >> if ([myType isEqualToString:@"NSInteger"] ) { >> myNSInteger = va_arg(myArgumentList,NSInteger); >> } else if ([myType isEqualToString:@"NSInteger*"] ) { >> pMyNSInteger = va_arg(myArgumentList,NSInteger*); >> } else if ([myType isEqualToString:@"CGFloat"]) { >> myCGFloat = va_arg(myArgumentList, CGFloat); >> } else if ([myType isEqualToString:@"CGFloat*"]) { >> pMyCGFloat = va_arg(myArgumentList, CGFloat*); >> } ... etc >> _______________________________________________ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/cocoa-dev/zav%40mac.com >> >> This email sent to z...@mac.com > > _______________________________________________ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/zav%40mac.com > > This email sent to z...@mac.com _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com