I have moved this over to the Tech Interview Cheat Sheet Repo and has been expanded and even has code challenges you can run and practice against!
\
| // | |
| // CollectionViewDataSource.swift | |
| // Khan Academy | |
| // | |
| // Created by Andy Matuschak on 10/14/14. | |
| // Copyright (c) 2014 Khan Academy. All rights reserved. | |
| // | |
| import UIKit |
| # | |
| # Set the build number to the current git commit count. | |
| # If we're using the Dev scheme, then we'll suffix the build | |
| # number with the current branch name, to make collisions | |
| # far less likely across feature branches. | |
| # Based on: http://w3facility.info/question/how-do-i-force-xcode-to-rebuild-the-info-plist-file-in-my-project-every-time-i-build-the-project/ | |
| # | |
| git=`sh /etc/profile; which git` | |
| appBuild=`"$git" rev-list --all |wc -l` | |
| if [ $CONFIGURATION = "Debug" ]; then |
| class Regex { | |
| let pattern: String | |
| let options: NSRegularExpressionOptions! | |
| private var matcher: NSRegularExpression { | |
| return NSRegularExpression(pattern: self.pattern, options: nil, error: nil) | |
| } | |
| required init(pattern: String, options: NSRegularExpressionOptions = nil) { | |
| self.pattern = pattern |
| import Foundation | |
| protocol SomeDelegateProtocol : class { | |
| func firstFunc() -> String | |
| func secondFunc() -> Bool | |
| func thirdFunc() -> Self | |
| } | |
| class MyClass { | |
| weak var delegate : SomeDelegateProtocol? |
| // | |
| // JAZMusician.h | |
| // JazzyApp | |
| // | |
| #import <Foundation/Foundation.h> | |
| /** | |
| JAZMusician models, you guessed it... Jazz Musicians! | |
| From Ellington to Marsalis, this class has you covered. |
There was [a tweet][tweetSoto] a couple of days ago that resulted in a discussion/question about what it wrong with the usage of removedOnCompletion = NO in the [SparkRecordingCircle code][code] for that [Subjective-C post][post].
We all kept saying that the explanation doesn't fit in a tweet, so here is my rough explanation about the issues.
But, let me first say that I think that the Subjective-C articles are reallt cool and useful to learn from. This is trying to reason about the general usage of removedOnCompletion = NO, using that code as an example, since that was what was discussed on twitter.
The root problem, as [Nacho Soto pointed out][rootProblem], is that removedOnCompletion = NO in combination with fillMode = kCAFillModeForwards is almost always used when you are not updating the model layer. This means that after the animation has finished, what you see on screen is not reflected in the property of the layer. The biggest issue that this can cause is that all the
| #!/bin/sh | |
| #ID='A16FF353-8441-459E-A50C-B071F53F51B7' # Xcode 6.2 | |
| ID='992275C1-432A-4CF7-B659-D84ED6D42D3F' # Xcode 6.3 | |
| PLIST_BUDDY=/usr/libexec/PlistBuddy | |
| function add_compatibility() { | |
| "$PLIST_BUDDY" -c "Add DVTPlugInCompatibilityUUIDs:10 string $2" \ | |
| "$1/Contents/Info.plist" |
| #ifndef NS_DESIGNATED_INITIALIZER | |
| #if __has_attribute(objc_designated_initializer) | |
| #define NS_DESIGNATED_INITIALIZER __attribute((objc_designated_initializer)) | |
| #else | |
| #define NS_DESIGNATED_INITIALIZER | |
| #endif | |
| #endif |
| <?xml version="1.0" encoding="UTF-8" standalone="yes"?> | |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
| <html xmlns:d="http://www.apple.com/DTDs/DictionaryService-1.0.rng"> | |
| <head> | |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | |
| </head> | |
| <body> | |
| <d:entry id="m_en_gb0035330" d:title="apple" class="entry"> | |
| <span class="hg"> | |
| <span d:dhw="1" role="text" linebreaks="apple" class="hw">apple</span> |