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. Two additional foundational building blocks of Objective-C distinct from data and procedure type foundations: ________ and Categories/Extensions






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






3. A protocol that's declared with the @protocol directive. Classes can adopt these - objects can respond at runtime when asked if they conform to them and instances can be typed by those that they conform to.






4. Finding the method implementation to invoke in response to the message






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






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






7. C-style strings always end with a ____ character






8. The time when files compiled from different source modules are linked into a single program. Decisions made by the linker are constrained by the compiled code and ultimately by the information contained in source code.






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






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






11. The process of setting or reading the value at an address pointed to by a pointer






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






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






14. C-style strings are stored in an array of _____






15. Property attribute that synthesizes accessors that are not thread safe






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






17. _____ data types can be both positive and negative






18. _____ allow indirect access and modification of a variable's value.






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






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






21. ______ operators take a single operand






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






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






24. In object-oriented programming the object that is sent a message.






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






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






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






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






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






30. The most flexible C data type: ______






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






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






33. A programming unit that groups together a data structure (instance variables) and the operations (methods) that can use or affect that data; the principal building blocks of object-oriented programs.






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






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






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






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






38. 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).






39. The nine fundamental building blocks of Objective-C can be dividing into 2 categories: data and _______






40. Data (like nouns) represent the information we are processing and in Objective-C this made up of the four elements of C types - _____ - enums and objects






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






42. In a format string the place holder for an object is ______






43. ______ data types are always zero or greate






44. In object-oriented programming the ability of a superclass to pass its characteristics (methods and instance variables) on to its subclasses.






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






46. Objective-C is a _____ of the C language






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






48. A compiler feature that provides automated memory management






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






50. Property attribute where the setter stores the assigned value but does not perform any memory management.