Top 50 Objective-C Interview Questions and Answers

Regular C pointers could be qualified with “__strong” to also trigger the underlying write-barrier compiler intercepts and thus participate in garbage collection. A zero-ing weak subsystem was also provided such that pointers marked as “__weak” are set to zero when the object is collected. The garbage collector does not exist on the iOS implementation of Objective-C 2.0. Garbage collection in Objective-C runs on a low-priority background thread, and can halt on user events, with the intention of keeping the user experience responsive. Objective-C is one of the main programming languages used by Apple for the iOS system and can be used to create mobile applications for this specific platform.

Objective-C on iOS 7 running on ARM64 uses 19 bits out of a 64-bit word to store the reference count, as a form of tagged pointers. A class may only pose as one of its direct or indirect superclasses. Objective-C permits a class to wholly replace another class within a program. Objective-C permits the sending of a message to an object that may not respond. Rather than responding or simply dropping the message, an object can forward the message to an object that can respond. Forwarding can be used to simplify implementation of certain design patterns, such as the observer pattern or the proxy pattern.


You can claim the whole package at any time and pay no money for it regardless of how you aim to use it. This stance boosted the number of people ready to spend time learning the language and increased the number of active developers. Since then, it’s been steadily gaining users at the expense of its older counterpart. You can create a functional string of code in less time because the syntax is more comprehensible and concise. Also, don’t confuse Objective-C language, and the Objective-C runtime.

It separates code into modules that can be easily reused or changed. Plus, it ensures the code is easier to understand for those who use it. The user’s order is an example of an “object.” It has properties, like the user’s name, phone number, and ordered items.

Major Benefit of Using Methods

C++ is its own weird animal; it mostly skipped the Smalltalk portion of the family tree. In some ways, it has a good module system with support for inheritance that happens to be able to be used for object-oriented programming. Objective-C uses a messaging paradigm swift vs objective c performance where you can send “messages” to objects through methods/selectors. Logging messages to the console in Objective-C is very simple. In fact, the NSLog() function is nearly identical to the C printf() function, except there’s an additional %@ token for objects.

  • What it means for the community is that new developers can now get into coding and stay.
  • Objective-C is based on a message passing model that is kind like calling methods plus some other goodies.
  • Experience from the structured programming world had shown that one of the main ways to improve code was to break it down into smaller pieces.
  • Objective-C Runtime Programming Guide describes aspects of the Objective-C runtime and how you can use it.
  • Although the framework classes are separate from the language, their use is tightly wound into coding with Objective-C and many language-level features rely on behavior offered by these classes.
  • Notice the SEL type, which is the type of messages in Objective-C.

You can, however, use categories to override existing methods in classes, but you should do so very carefully. Getting comfortable with the Objective-C programming language requires getting your hands dirty with some code. But you don’t want to dive right in without any prior knowledge, which is why we are here at Treehouse! This is the second in a series of posts that talk about the basics of Objective-C and how you can use it to write iOS apps. In the previous postwe talked about the language itself and understanding variables, and in this post we will focus on an important basic concept known as methods. The colon means that the next name is the parent class of this class.

Do I need to know Objective C to learn Swift?

That takes current ObjC source files and outputs C source files that do the same thing, I don’t see why that wouldn’t be possible. This example builds up an class, by defining first a basic class with only accessor methods implemented, and adding two categories, and, which extend the basic class. Implementing such accessors is one typical use of categories. Another is to use categories to add methods to the base class. However, it is not regarded as good practice to use categories for subclass overriding, also known as monkey patching. Informal protocols are implemented as a category on the base class.

Objective-C explained

If you do have the original source code for a class, you can use a class extension to add new properties, or modify the attributes of existing properties. Class extensions are commonly used to hide private behavior for use either within a single source code file, or within the private implementation of a custom framework. The first versions of Objective-C did not support garbage collection. At the time this decision was a matter of some debate, and many people considered long “dead times” to render the entire system unusable.


Categories are one of the most useful features of Objective-C. Essentially, a category allows you to add methods to an existing class without subclassing it or needing to know any of the details of how it’s implemented. The init implementation usually does basic setup, such as creating instance variables. The details of that are unknown to you as a client of the class.

Objective-C explained

A comprehensive SOAP note has to take into account all subjective and objective information, and accurately assess it to create the patient-specific assessment and plan. This widely adopted structural SOAP note was theorized by Larry Weed almost 50 years ago. It reminds clinicians of specific tasks while providing a framework for evaluating information. It also provides a cognitive framework for clinical reasoning.


There are many debates between which programming language offers better results for iOS mobile app developments. As a language that was invented in the 1980s, Objective-C still has a great many features that are used in iOS-specific mobile app developments. While there hasn’t been an innovation that allows Objective-C to be used across all sorts of platforms, it is integrative for the use of C and other languages for iOS applications.

Objective-C explained

Although the framework classes are separate from the language, their use is tightly wound into coding with Objective-C and many language-level features rely on behavior offered by these classes. The mulle-objc project is another re-implementation of Objective-C. It diverges from other runtimes in terms of syntax, semantics and ABI compatibility.

A Quick Refresh: What Is Objective-C?

There are only a few businesses that wouldn’t benefit from having a mobile app dedicated to their services. Apps increase coverage, sales and make products more accessible. As the language started getting more complex, it was changed into a full parser that replaced/extended the parser in a C compiler with/into one specific to Objective-C. So while it would be perfectly possible to compile Objective-C into straight C, current ObjC compilers don’t do it that way anymore. Objective-C can be used to streamline iOS mobile apps across all types of Apple iOS platforms, including phones and tablets.


อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *