favorite features in Instruments - Color Blended Layers *Color blended layers only works with a device. 1. Hold down the play button and choose ‘profile’ 2. Instruments will launch, choose Core Animation 3. On the right-hand side panel, choose ‘Display Settings’ 4. Check ‘color blended layers’ The phone should now look like a limited heat map...
that are not blended. Views in red are blended views where the graphics processor blends the view’s CALayer. Here, we see that our main labels and sub labels are opaque while the label property of our detail and delete buttons are blended.
for our two buttons and walk the property path setting the button label’s opaque property to YES. The button’s color will now be black unless you set it so do that too. Profile the App’s Core Graphics processing one more time:
is having to do much less work. If this table were to have enough rows where scrolling reached 60 frames per second, changing the opacity of the buttons could really benefit our app’s performance.
strings to display (not strings used as identifiers) have been wrapped in an NSLocalizedString() function. The operating system will match the argument passed in with a key that you must provide. The keys are located in a .strings file that you must create. There is a .strings file for each language supported by the operating system.
those from solo developers, support English, Spanish, German, French, Portuguese, and Italian. These languages cover the majority of iOS users using the Latin alphabet. Localizing Asian languages is much more difficult from both a translation and user interface standpoint and, for independent devs, may not be feasible.
‘step in’ and ‘step over’ functionality seen in the CS50 IDE. Besides the standard features, you can: • Create a breakpoint to make a sound when it’s triggered. • Create a breakpoint to send an email when it’s triggered. • Create a breakpoint to be ignored unless a variable is true or method returns true.
We could put the method in a global constants file but that’s overkill for large projects that are only going to use the method for a few UIView subclasses.
as web or server-side devs mainly because the front end compiler does static analysis - those red build time errors and yellow warnings. However it’s time to put to bed these two antiquated excuses: One screen size - now we have several. No legacy code - I can’t even remember 2007, can you? Gigantic, aging iOS codebases are now a thing.
runtime and therefore may change and be recompiled. .a (static library) - linked at compile time and therefore doesn’t change during the runtime because the object code that makes up the binary is set.
with header files and documentation. Useful when you have a suite of apps under one banner. For Google for example, the Gmail app, the Docs app, the Google Maps app, etc. all probably share a framework.
years of Apple studying user interaction and user experience and making it the highest priority. Notice that MapStack uses Apple default controls whenever possible i.e. no third parties and few custom objects. Before reinventing the wheel or linking a 3rd party library, you should dig a little to discover the amazing controls available to you at project creation.
webservice. Great for debugging web traffic. Paw - Build your http requests with different environments, auth tokens, etc. Sketch - Adobe Illustrator replacement that’s geared toward Apple devs, costs about an order of magnitude less with an even smaller memory and storage footprint. Paintcode - Generates code for the shapes you draw on their GUI canvas. Bezier path heaven. 3rd party tools