I figure I post the questions and explanations for each answer to the quiz. If anyone wants to chime in as to if my answer is accurate, please feel free to EDIT this post.

Thanks!
QUESTION: 1Given that this statement is executed inside a method
Fraction *f = [[Fraction alloc] init];
what is true when the method returns?
(1) The variable f is destroyed
(2) The allocated Fraction object is deallocated
(3) Both f and the allocated Fraction are destroyed
(4) None of the above is true
ANSWER:(1)
EXPLANATION:*f is a local variable set inside a method. Local variables are destroyed after the method is executed.
QUESTION: 2A method called print:: takes three arguments.
(1) TRUE
(2) FALSE
ANSWER:(2)
EXPLANATION:There are two : so the method takes two arguments.
QUESTION: 3Sending a message to self has the effect of sending the message to the receiver of the current message.
(1) TRUE
(2) FALSE
ANSWER:(1)
EXPLANATION:self sends a message to the receiver of the current message
QUESTION: 4Sending a message to self has the effect of sending the message to the receiver of the current message.
(1) TRUE
(2) FALSE
ANSWER:(1)
EXPLANATION:self sends a message to the receiver of the current message
QUESTION: 5What is true about this local variable counter if this statement is executed inside a method?
int counter = 0;
(1) Its value will be set to 0 every time the method is called
(2) Its value will be set to 0 only once when the program begins execution
(3) Its value will be retained through method calls
(4) None of the above
ANSWER:(1)
EXPLANATION:when a variable is declared inside a method, each time the method is called the value is set
QUESTION: 6What is true about the local variable counter if this statement is executed inside a method?
static int counter = 0;
(1) Its value will be set to 0 every time the method is called
(2) Its value will be set to 0 only once when the program begins execution
(3) Its value will not be retained through method calls
(4) None of the above
ANSWER:(2)
EXPLANATION:static variables are automatically set once when the program begins execution
QUESTION: 7A static variable will retain its value from one method call to the next.
(1)True
(2)False
ANSWER:(2)
EXPLANATION:None needed
QUESTION: 7A static local variable has no default initial value.
(1) True
(2) False
ANSWER:(2)
EXPLANATION:None needed
QUESTION: 8If width is an instance variable, then this line in the interface section
@property int width;
and this in the implementation section
@synthesize width;
will
(1) generate a getter method called width
(2) generate a setter method called setwidth:
(3) all of the above
ANSWER:(1)
EXPLANATION:This is a trick question, the @synthesize will generate a setter method called setWidth (notice the uppercase W).
QUESTION: 9What can you say about the indicated statement?
Fraction *f =
[[Fraction alloc] init], *g;
...
g = f;
[g release]; <==
...
(1) It's invalid and will cause the program to crash
(2) It could be replaced by [f release] with the same effect
(3) It should be followed by [f release] to avoid memory leaks
(4) None of the above
ANSWER(2)
EXPLANATIONThe f replaces g.
QUESTION: 10An automatic local variable has no default initial value
(1) True
(2) False
ANSWER:(1)
EXPLANATION:Local variables have no default initial value, so they must be set before using them.
QUESTION: 11Advantages of separating a class definition into separate interface and implementation files are
(1) Someone using the class doesn't have to get direct access to the code for the methods
(2) The code for the methods can be stored in a system library
(3) The interface section suffices to tell the compiler the class' methods and instance variables
(4) All of the above
ANSWER(4)
EXPLANATIONNone needed
QUESTION: 12The method names print and print: refer to two different methods.
(1) True
(2) False
ANSWER:(1)
EXPLANATION:the method print does not expect in an argument while the method print: does
QUESTION: 13Given the following method declaration in the interface section, what can you say about area?
-(Rectangle *) area;
(1) It takes no arguments
(2) It returns a Rectangle object
(3) A corresponding method definition should appear in the implementation section
(4) All of the above
ANSWER(4)
EXPLANATIONNone needed
QUESTION: 14Can you send a message to self from inside main?
(1) True
(2) False
ANSWER:(2)
EXPLANATION:no, self only refers to the object that is the receive of the current method
QUESTION: 15Given an object with an instance variable called numerator and synthesized accessor methods the following two lines of code achieve the same purpose:
fract.numerator = 10;
[fract setNumerator: 10];
(1) TRUE
(2) FALSE
ANSWER:(1)
EXPLANATION:None needed