Posts

Showing posts with the label coding

Solid Principles

 Solid Principle : S - Single Responsibility O- Open / Closed Principle L - Liskov Substitution I - Interface Segregation  D - Dependency Inversion  S - Single Responsibility Principle            A class should have only one  reason to change, meaning a class should have only one job.     Example :  For software development we have multiple people doing different thing like designer do designing, tester do testing and developer do development. O - Open / Closed Principle          Open for extension / Closed for modification      Example: All smart phones have app stores and these app stores let you extend the base  functionality of the phone. Via the App Store, you can extend the phones capabilities to allow you to manage your todo list, play video games. It's not as that Apple Google and Microsoft put the OS source code up on Github and invite you to dive in and start buil...

Some Nice Features of the Objective-C Language

Here is a little list of things that, in my experience, contribute to make Objective-C a powerful and fun programming language. Classes are objects Each class is an instance of a meta-class automatically created and managed by the run-time. We can define class methods, pass classes as arguments, put them in collections and so on. To create an object, we just send a message to the class we want to instantiate. No need to reinvent a "factory" system. No need for a specific constructor mechanism at the language level. This helps keeping the language simple and powerful. And, by the way, meta-classes are objects too! Dynamic typing As in Ruby, Python, Smalltalk, Groovy… Extremely useful because we don’t always know beforehand what our objects are going to be at run-time. Dynamic typing in Objective-C is simple to use. For example, this declares a variable that can hold a reference to an object: id myObject; Optional static typing Still, Objective-C also has ...

Resources for iOS Coding Standards and Styles

Swift Style Guides Swift.org Clarity at the point of use is your most important goal. Entities such as methods and properties are declared only once… swift.org raywenderlich/swift-style-guide swift-style-guide - The official Swift style guide for raywenderlich.com. github.com github/swift-style-guide A guide to our Swift style and conventions. This is an attempt to encourage patterns that accomplish the following… github.com Swift Tools realm/SwiftLint SwiftLint - A tool to enforce Swift style and conventions. github.com Swift-Clean With very minimal setup, you can get Xcode to use our App to enforce your rules. If you are ever caught violating one… www.swiftcleanapp.com Jintin/Swimat Swimat - An Xcode formatter plug-in to format your swift code. github.com Objective-C Style Guides github/objective-c-style-guide objective-c-style-guide - Style guide & coding conventions for Objective-C projects github.com NYTimes/objective-c-style-guide objective-c-style-g...

Download .dmg file of Xcode

You can find the DMGs or XIPs for Xcode and other development tools on  https://developer.apple.com/download/more/  (requires Apple ID to login). You must login to have a valid session before downloading anything below. *(Newest on top. For each minor version (6.3, 5.1, etc.)  only the latest revision is kept  in the list.) Xcode 13 13.2 Beta 13.1 13.0 Xcode 12 12.5.1  (requires a Mac with Apple silicon running macOS Big Sur 11 or later, or an Intel-based Mac running macOS Big Sur 11 or later) (Latest as of 22-Jun-2021) 12.4  (requires a Mac with Apple silicon running macOS Big Sur 11 or later, or an Intel-based Mac running macOS Catalina 10.15.4 or later) 12.3  (requires a Mac with Apple silicon running macOS Big Sur 11 or later, or an Intel-based Mac running macOS Catalina 10.15.4 or later) 12.2 12.1 12.0.1  (Requires macOS 10.15.4 or later) (Latest as of 24-Sept-2020) Xcode 11 11.7  (Latest as of Sept 02 2020) 11.6 11.5 11.4.1  (Re...