Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Initializing C array of objects



Le 20 déc. 07 à 11:58, Ken Tozier a écrit :

Hi

I'm writing a class that needs to allocate a C array of objects and am having some trouble getting the things initialized. Here's what I'm doing but it's giving me "lvalue" errors

Foo		*fooArray		= malloc(10 * sizeof(Foo)),
		*fooObject;

for (i = 0; i < 10; i++)
{
	fooObject	= (fooArray + i);

// in debugger, this shows that a new object is allocated rather than putting it into the exsting aray
fooObject = [[Foo alloc] init];
}


How does one do something like this?

Thanks for any help;

Ken


Object in Obj-c cannot be referenced directly. You have to store object pointer.
[[Foo alloc] init] return type is 'id' (a pointer to an object)



Foo **fooArray = malloc(10 * sizeof(Foo *)); int i; for (i = 0; i < 10; i++) { fooObject[i] = [[Foo alloc] init]; }


_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden
References: 
 >Initializing C array of objects (From: Ken Tozier <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.