Test your basic knowledge |

Objective C Programming Basics

Subjects : it-skills, apple
Instructions:
  • Answer 50 questions in 15 minutes.
  • If you are not ready to take this test, you can study here.
  • Match each statement with the correct term.
  • Don't refresh. All questions and answers are randomly picked and ordered every time you load a test.

This is a study tool. The 3 wrong answers for each question are randomly chosen from answers to other questions. So, you might find at times the answers obvious, but you will see it re-enforces your understanding as you take the test each time.
1. In object-oriented programming - the method selector (name) and accompanying parameters that tell the receiving object in a message expression what to do.






2. The part of an Objective-C class specification that declares its public interface which includes its superclass name & instances variables and public-method prototypes.






3. a++; is an example of using a _____ operator






4. In computer science the mathematical concept of 'order of operations' is known as the 'order of ______'






5. An object in another application - one that's a potential receiver for a remote message.






6. An object id with a value of 0.






7. Created by the compiler - lacks instance variables and can't be statically typed but otherwise behave like all other objects. As the receiver in a message expression - a it is represented by the class name.






8. The direct or indirect report of external activity especially user activity on the keyboard and mouse.






9. Another name for a class that's defined solely so that other classes can inherit from it.






10. Property attribute that causes the setter to store a copy of the assigned value






11. In the Objective-C language an object that belongs to (is a member of) a particular class; created at runtime according to the specification in the class definition.






12. A prototype for a particular kind of object; declares instance variables and defines methods for all members of the class.






13. Instance variables are optional in iOS if ________ are used






14. A class that's one step above another class in the inheritance hierarchy; the class through which a subclass inherits methods and instance variables.






15. _____ is one of the main advantages of object-oriented code and allows objects to 'hide away' much of their complexity operating at times like a proverbial 'black-box'.






16. Procedures (like verbs) are processes that manipulate or transform data and in Objective-C these 3 elements are _____ - functions and methods






17. Short for mutual exclusion semaphore. An object used to synchronize thread execution.






18. All objects are created on the _____






19. Any method that can be used by an instance of a class rather than by the class object.






20. Placing a ____ before a normal variable name gives it's address






21. In object-oriented programming the ability of different objects to respond each in its own way - to the same message.






22. Property attribute that causes the setter to store a zeroing weak reference to the assigned value






23. 3 Common Float data types: float - _____ - CGFloat






24. There are ____ fundamental building blocks in Objective-C






25. Each class should have a ______ initializer a single method responsible for performing all of the object's setup and initialization.






26. Symbol used to denote a placeholder in a format string






27. In object-oriented programming a procedure that can be executed by an object.






28. A memory-management technique in which each entity that claims ownership of an object increments the object's reference count and later decrements it; allows one instance of an object to be safely shared among several other objects.






29. A ____ ____ is a situation where you free memory and then accidentally continue to use it






30. In Objective-C floats are more commonly used than ______






31. _____ data types can be both positive and negative






32. _____ allow you to add new methods to existing classes






33. a+b; is an example of using a _____ operator






34. A method that can operate on class objects rather than instances of the class.






35. In object-oriented programming an expression that sends a message to an object. In the Objective-C language they are enclosed within square brackets and consist of a receiver followed by a message (method selector and parameters).






36. Three main categories of more complicated data structures:_______ - arrays and structs






37. Protocols are adopted by adding a ____________ list of protocols inside angled brackets after the superclass declaration in a class's @interface block






38. Any variable that's part of the internal data structure of an instance; declared in a class definition and become part of all objects that are members of or inherit from the class.






39. The most flexible C data type: ______






40. Objective-C borrows much of its syntax from ______ one of the earliest object-oriented languages






41. The time when source code is compiled; constrained by the amount and kind of information encoded in source files.






42. A technique used in C-based languages where the operating system provides memory to a running application as it needs it instead of when it launches.






43. The root class in Objective-C






44. A _______ method is one that is likely to be unsupported in the future. It's use should be discontinued.






45. A programming technique that hides the implementation of an operation from its users behind an abstract interface; allows the implementation to be updated or changed without impacting the users of the interface.






46. Same as class object. (first way to say it.)






47. Consider: [NSString alloc]. 'alloc' is an example of a(n) class method rather than a _______ method






48. A ____ _____ is where you forget to free up memory






49. A set of method definitions that is segregated from the rest of the class definition.






50. A tool that lets you graphically specify your application's user interface. It sets up the corresponding objects for you and makes it easy for you to establish connections between these objects and your own code where needed.