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. The time after a program is launched and while it's running. Decisions made at during this time can be influenced by choices the user makes.






2. A language such as C that organizes a program as a set of procedures that have definite beginnings and ends.






3. 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.






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






5. When creating a class implementation file you begin with the _____ keyword and close with the @end keyword






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






7. The general type for any kind of object regardless of class; defined as a pointer to an object data structure; can be used for both class objects and instances of a class.






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






9. ____ provide a concise & elegant method for defining a discrete set of values






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






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






12. A protocol declared as a category usually as a category of the NSObject class.






13. A struct may contain multiple ____ consisting of different data types






14. Property attribute that causes the setter to store a strong reference to the assigned value






15. A way to package a logically related set of classes & protocols and functions together with localized strings & online documentation and other pertinent files.






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






17. A message sent from one application to an object in another application.






18. This symbol denotes a method as being an instance method






19. 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.






20. Any class that's one step below another class in the inheritance hierarchy.






21. Square bracket syntax for calling a method






22. Same as class object. (second way to say it.)






23. _____ 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'.






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






25. An object id with a value of 0.






26. In object-oriented programming - the method selector (name) and accompanying parameters that tell the receiving object in a message expression what to do.






27. Xcode sequence to examine an app for memory leaks or retain cycles






28. An object that acts on behalf of another object.






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






30. The first index in an array is valued at ____






31. Objective-C binds methods and arguments at _____ instead of compile time






32. Data types are divided into two main categories: integer and ______






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






34. _____ operators take 2 operands






35. 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.






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






37. A remote message that doesn't return until the receiving application finishes responding to the message. Because the application that sends the message waits for an acknowledgment or return information from the receiving application - the two applica






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






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






40. An instance variable that points to another object; _____ instance variables are a way for an object to keep track of the other objects to which it may need to send messages.






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






42. Initializer method traditionally begin with the _____ prefix






43. The 6 main categories of operators are: ____ - arithmetic - comparison - logical - bitwise and membership






44. An object of unknown class. Interface is published through protocol declaration.






45. If you are compiling an application with ARC (Automatic reference Counting) you _______ store Objective-C objects inside a struct






46. Zeroing weak referencing should be used for _____ and data sources to prevent inadvertent retain cycles






47. Pointers are declared by placing a(n) ___ between the type declaration and the variable name






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






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






50. 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.