Re: 3 obj-c/cocoa beginner q's
Re: 3 obj-c/cocoa beginner q's
- Subject: Re: 3 obj-c/cocoa beginner q's
- From: "Clark S. Cox III" <email@hidden>
- Date: Tue, 25 Mar 2003 10:52:45 -0500
On Tuesday, Mar 25, 2003, at 08:55 US/Eastern, Steve Bird wrote:
On Tuesday, March 25, 2003, at 08:30 AM, Ben Dougall wrote:
_____________________________________________________
1.
this is a bit of code from a book i'm following at the moment. it
feels like it might possibly be an inefficient way of doing things.
but then i could easily be wrong:
for (i = 0; i < [myArray count]; i++) {
....
....
}
doesn't this mean that the myArray object will get messaged for every
for loop execution? in other words if the array has 100 elements
myArray is going to get messaged a 100 times? or doesn't that matter?
wouldn't defining an int to hold [myArray count] before going into
the for loop, and using that int in the for loop arguments, therefore
only messaging myArray once, be a better way to do that? or not?
--- A reasonable question, but the [myArray count] is messaged only
once, because that's the way C for loops work. Read the details on
FOR loops - the arguments are evaluated only once to determine
parameters, then the loop is executed.
For that reason it's bad practice to modify the termination
condition ([myArray count] in this case), or the increment condition
(i++), from within the loop.
Woah.., That is way off, the termination condition *is* checked on
every iteration through the loop.
For all intents and purposes, the following two loops are identical:
for(i=0; i< [myArray count]; i++)
{
}
i = 0;
while( i< [myArray count])
{
i++;
}
--
http://homepage.mac.com/clarkcox3/
email@hidden
Clark S. Cox, III
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.