Monday, March 18, 2013

iOS app development for C/C++/C# Developers : Defining default constructor in Objective-C

In this post I am going to share how we do whats called "constructors" in C++ or C# and for my C-only fellows, object initializers or <insert some term here>.

As I mentioned in my previous blog post that Objective-C has no such thing as constructors. We use the native non-instance method or what we call "static" method to allocate a new instance. That method is called alloc.


 MyClass* myObj = [MyClass alloc]

The above code just creates an object in a fashion similar to having no constructors defined in our C++ or C# class.

But consider the following code in C++.


 class Circle
  {
    private int m_radius;
    public Circle()
     {
       m_radius = 10; // C++ folks can also use the "initializer list" for this assignment
     }
  }

If we want to implement the same logic in Objective-C, we are going to have to define something what most Obj-C developers call "initializers"

Initializers are nothing but methods that may take arguments and meant to be called right after allocation of a new object. So we could do the following in Objective-C. Lets do a "default constructor" in this post. I will make another post for parameter-ized constructor


Circle.h file
 #import <foundation/foundation.h>

@interface Circle : NSObject {
  NSInteger m_radius;
}

 - (id) init;
@end

Circle.m file
 @implementation Circle
  - (id) init
  {
    self = [super init]; // calling base class's init in this case NSObject's init

    if (self) { // checking to see if an object has been returned by NSObject's init
            self.m_radius = 10; // set the default value to 10
      }
   return self; // In order for it to act like a constructor, it should return the object
  }
 @end

And this is how we create an object using the initializer defined above
 Circle* circleObj = [[Circle alloc] init];

By the way, 'super' is a Java term for base class too. Somebody gets a title of 'copy-cat' here.

That's all folks for this post. Please let me know your comments in the comment box below if you have any.

45 comments:

  1. The following pages teach you how to build a simple Android app. You’ll learn how to create a "Hello World" project with Android Studio and run it. Then, you'll create a new interface for the app that takes some user input and opens a second screen in the app. Best More learn about apps Apps Design and Development Company its guide a further about this services and gives you traning as well.

    ReplyDelete
  2. Wow i can say that this is another great article as expected of this blog.
    IOS Application Development Pakistan

    ReplyDelete
  3. This post is really very interesting and the programming part is very informative. Thank you so much for sharing this post. Visit here:  Rajendra Geda

    ReplyDelete
  4. This website and I conceive this internet site is really informative ! geniusupdates

    ReplyDelete
  5. If you're interested in outsourcing product development, I think this piece of content will help you find a product design and development company. for your next project.

    ReplyDelete
  6. I admire this article for the well-researched content and excellent wording. I got so involved in this material that I couldn’t stop reading. I am impressed with your work and skill. Thank you so much.
    android development company in chennai

    ReplyDelete
  7. I admire this blog for really good contents and highly informative blog. This blog is useful for who are seeking the outsourced products. Mobile app Development

    ReplyDelete
  8. Undertaking apps are mission-basic and intended to satisfy a particular exceptionally centered errand. Thusly, to be fruitful, https://iphoneappdevelopmentcompany.com/ organizations need to begin by characterizing the issue to be explained working with the end clients and different partners.

    ReplyDelete
  9. Thanks for sharing this blog with us. Get the best developers delivering custom & mobile application development services from app development Denver

    ReplyDelete
  10. The article was up to the point and described the information very effectively. Thanks to blog author for wonderful and informative post.
    IOS Development pakistan

    ReplyDelete
  11. This comment has been removed by the author.

    ReplyDelete
  12. I am really happy to say it’s an interesting post to read . I learn new information from your blog.
    Hybrid App Development Company in USA

    ReplyDelete
  13. bachelor developer software company
    hello brother's your bachelor developer software company provide high qualty software provider ricently create a school menegment system provide a very low bujet for school's with a androide application.

    SEO
    hello brother's your software company provide a high quality seo websites ranking on page and off page.

    graphic design
    hello brother's our software company provide graphic designing service by bachelor developer.

    software company in hyderabad
    software company in pakistan

    hello brother's your bachelor developer software company provide high qualty software provider ricently create a school menegment system provide a very low bujet for school's with a androide application.
    Web design company

    bachelor developer software company provide high quality software and websites and more services.
    cheap website design pakistan

    software house in pakistan

    software house in sindh

    web development company pakistan

    software house in latifabad

    ReplyDelete
  14. Thanks for sharing this quality information about app development. I really enjoyed reading and knowing about it. And i will surely share this URL with my friends. Mobile App Development Service Provider Australia

    ReplyDelete
  15. And if you pay close attention those copies are pirated. It is more clear in case of newly released movies. You will find that the copy they are displaying is taped by a camera in a movie theatre! PinkFour

    ReplyDelete
  16. Thanks for sharing such an amazing blog that helped me to understand the basic points of IOS app development. You can also hire professional developers such as NOTOSolutions to get your work done.

    ReplyDelete
  17. Great post I would like to thank you for the efforts you have made in writing this interesting and knowledgeable article. Thank you a lot! and if you need Graphic Design Company then contact us!

    ReplyDelete
  18. This comment has been removed by the author.

    ReplyDelete
  19. Very nicely explained. A2zfame.com is offering you the best quality of creative website development online at the affordable prices. You can visit on mobile application maintenance in USA to get more details.

    ReplyDelete
  20. QuellxCode is an extremely experienced software house in Islamabad which provides a wide array of social apps, productivity apps, games, and e-commerce apps for brands around the world. In the bunch of software houses in Pakistan we uniquely focus on effective design, cutting-edge technology, and cost-effectiveness throughout our development process for brands looking to leverage mobile technology. If you’re looking for a software house in Islamabad, Software house in Bahria town or best software house in Pakistan, Quell X Code is all set to serve you with nothing but the best!

    ReplyDelete
  21. This comment has been removed by the author.

    ReplyDelete
  22. Apps Geyser is a free specialist organization, which help you to change over your application and profit through it. It has more than 118,602,408 introduced application, more than 260,193 made application and more than 3,610,134,404 promotions served.
    https://appcloner.app
    https://appcloner.net

    ReplyDelete
  23. This post is really useful and helpful to know more about the things which you have shared. I appreciate you for such a great amount of information. I assure this would be beneficial for many people. app development companies in USA

    ReplyDelete
  24. I admire this article for the well-researched content and excellent wording. I got so involved in this material that I couldn’t stop reading. I am impressed with your work and skill. Thank you so much. ios app developers

    ReplyDelete
  25. Good piece of information. Really appreciate it. I also know one more platform where I read about Mobile App development which is Vkreate.in and it helped me in finding a complete solution for my website.

    ReplyDelete
  26. Thanks 3monthinstallmentloans.net for taking the time to discuss about easy loans for bad credit in Chandler, AZ

    ReplyDelete
  27. You have shared a nice article about the app development. Your service is very interesting and useful. I liked it. If anyone looking to app development service, then visit Custom App development Houston

    ReplyDelete
  28. I think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article. seo consultant

    ReplyDelete
  29. Great blog..Thanks for sharing such a great blog..I like your blog very much…..such a good information...Iphone App Development Outsourcing

    ReplyDelete
  30. We are the leading web designers and developers in Pakistan believing in creative and responsive designs that make your website highly interactive. codeaze

    ReplyDelete
  31. I’m going to read this. I’ll be sure to come back. thanks for sharing. and also This article gives the light in which we can observe the reality. this is very nice one and gives indepth information. thanks for this nice article... IDLE MINER TYCOON MAX LEVEL

    ReplyDelete
  32. You need an interactive website that attracts maximum people. For a top-notch website, you need to hire WordPress developer who has proper knowledge and experience that can come in handy for your website’s performance. We have a team of highly experienced and certified professional developers and designers. With our dedicated team of experts, we have marked our name among top website development companies in the industry.

    ReplyDelete
  33. In a space pervaded with compact mobile phones, innovations drive mobile users towards a legal digital predilection. On an average, mobile users spend as little as 2 hours a day interacting with their mobile screens. Of this time, they tend to devote some 30 minutes fiddling with mobile apps.Top 10 Mobile app development Companies in India

    ReplyDelete
  34. This is very informative and interesting for those who are interested in App developement. Thank you for such useful informations about Apps. You can also checkout our best services of app developers australia.

    ReplyDelete
  35. This comment has been removed by the author.

    ReplyDelete
  36. Great post, it was nice to see this article. It was really appreciable. Thank you so much for sharing such an informative article. Get more info about mobile app design company

    ReplyDelete