Objective C Tricks


Published on

Gives a brief introduction into some of the hidden tips and tricks with coding using Objective C, It gives examples for Literals ,Sub-scripting , Method swizzling

Published in: Education, Technology
1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Objective C Tricks

  1. 1. Objective-c Tricks 1 2 0 1 4 – Jan B y : H o s s a m G h a r e e b
  2. 2. 2 Use Literals  The following is the old way of writing code:
  3. 3. 3 The same code can be written as follows:
  4. 4. Subscripting  You can use subscripting to access the values inside dictionaries and arrays. This is how the syntax looks: 4
  5. 5. Classes And Selectors From Strings  We can dynamically generate classes and selectors from strings, We do this by using the NSClassFromString and NSSelectorFromString functions:  NSClassFromString will return nil if there isn't a class in the runtime that matches the string 5
  6. 6.  We can also decide in run time which selector to be called based on input: * Required 6
  7. 7. Method Swizzling  Methods are made up of two components. The selector, which is an identifier for a method, and the IMP, which is the actual implementation that is run. One of the key things about this separation is that a selector and IMP link can be changed. One IMP can have multiple selectors pointing to it.  Subclassing -> This allows you to override a method and call the original implementation, but it means that you have to use instances of this subclass.  Category -> you cannot call the original implementation if you override a method.  Swizzling -> You can override a method without subclassing AND call the original implementation * Required 7
  8. 8. Example  make a UINavigationBar green  this will change all navigation bars in the app to green, but if I used UIImagePickerController it will be changed too!!!. We have to find new way for that >>>>> Method Swizzling 8
  9. 9. Method Swizzling Cont.  Method swizzling, in short, is switching methods at runtime. So you can say for UINavigationBar don’t use the standard drawRect:, but instead swap it with a different one * Required 9
  10. 10.  Here is the swizzling: 10
  11. 11. Another problem solved by Swizzling  measure how long the synchronize takes in NSUserDefaults * Required 11
  12. 12. Cont. 12
  13. 13. Example  Borders around all UIViews  initWithFrame: get a red border, views that were unarchived (for example as part of XIBs) get a blue border. 13
  14. 14. Surprise  the status bar at the top of an iOS app is drawn by the app itself 14
  15. 15. How to do that ? * Required 15
  16. 16. Cont. * Required 16
  17. 17. Other tricks  objc_msgSend() This function takes a target, a selector and a list of arguments 17
  18. 18. CGRect Tricks  Shrink CGRect:  Different insets for each edge: using UIEdgeInsets(top, left, bottom, right) 18
  19. 19. Cont.  CGRectUnion is UIScrollView’s best friend: if you want use UIScrollView with bunch of subviews, so you have to know only the top-left and bottom-right views: 19
  20. 20. Cont.  Dictionary Representation (to store in in plist on disk): 20 Print CGRect values :
  21. 21. Cont.  Storing it in Obj-C Storage Classes 21
  22. 22. Thank you Any Questions? 22