- Objective-C is not dead, it’s awesome, it’s a lovely language but you just won’t find a job if stick to it.
- Daniel misses the Objective-C’s
*in Swift. Because that way he knows that something is (or isn’t) a reference type. He also misses header files because those are nice overviews of what he can call in a certain class. Otherwise, he loves Swift. - Context is important in code. If you would want to get
timeIntervalUntilNowyou need the inverse oftimeIntervalSinceNowbecause the latter would return a negative number. Just putting a-in front of it somewhere is bad, because there’s no context. Wrapping it in a method,-is okay to put there. That provides context. SotimeIntervalUntilNowwould just return-timeIntervalSinceNow. - Translating things from Objective-C to Swift is not thinking in Swift. Thinking in Swift doesn’t mean monads, map, flatmap, reduce and all the haskell stuff.
- If you use protocols, like
SequenceTypeyou get a lot
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| fastlane_version "1.40.0" | |
| default_platform :ios | |
| platform :ios do | |
| before_all do | |
| ensure_git_status_clean | |
| end | |
| desc "Upload a new Crashlytics beta for quick testing" |
If you're not sure how to use a command or what options it has you can always do: 'man :command_name' to see the manual for that command (example: man cd)
- Switching folders:
cd :folder_name: - Move up one folder:
cd .. - Going to the home folder:
cd ~ - See folder contents:
ls - See readable folder contents:
ls -la(-laare options for thelscommand)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| enum BSCellIdentifier: String { | |
| case ActiveGoalBased = "activeGoalbased" | |
| case ActiveTimeBased = "activeTimeBased" | |
| case ActiveWaiting = "activeWaiting" | |
| case Past = "past" | |
| static func identifierForChallenge(challenge: Challenge, inSection section: Int, withType type: SelectionType) -> String { | |
| if type == .Active { | |
| if section == 0 { | |
| if challenge.challengeType.isGoalBased() { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var request = require('request'); | |
| var cheerio = require('cheerio'); | |
| var Promise = require('promise'); | |
| var fs = require('fs'); | |
| var url = 'http://eu.battle.net/sc2/en/game/unit/'; | |
| request(url, function(err, res, html){ | |
| if(err) { | |
| console.log('An error occurred'); | |
| console.log(error); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| $(document).ready(function() { | |
| // Elke click handler krijgt een event object als argument binnen. | |
| // Dit event object bevat informatie of de click die gebeurt is, zoals | |
| // bijvoorbeeld het elemenet waarop geklikt is. Dit object is bereikbaar | |
| // via de target property van het event object. Als je die in een jquery | |
| // dollar ding wrapt kun je dus ook de hide functie aanroepen. Daarmee hide | |
| // je dus het plaatje waarop geklikt is in plaats van alleen de eerste :) | |
| $("img").click(function(event) { | |
| $(event.target).hide(); | |
| }); |
- Look at expensiveness of
tableView(_:cellForRowAt:), often quite expensive. layoutSubviewsfor cells can be quite expensive too.- Prefetching can be a big win, but not always
- Two cells could be fighting for the CPU with prefetching. iOS 12 is smarter about this.
- Better CPU ramping up
- Relocalization from 11.3 allows a session to be restored. Uses a map that is supplied by world tracking.
- In iOS 12 you can get a mapping of a physical 3D space
- Mutable list of named anchor so you can add your own anchors
- Raw feature points and extent
- World maps can be serialized (Codable?)
- The world map can be loaded again when the user starts their AR experience.
- Focus on images, text and tabular data
- Folders as labels, images as data for that label
- Transfer learning is used in Create ML by using an existing image classifier, augmented with your data
- This is a real quick way of training
- Playground is used to provide a UI for machine learning
MLModelImageClassifierBuilder- Available on Mojave
Shortcuts let you expose the capabilities of your apps to Siri
- Siri suggestions will show siri shortcuts
- Siri can suggest shortcuts on the watch
- Shortcuts can be shown on the lock screen
- Users can provide their own commands for shortcuts and developers can define their own responses
- Developers suggest commands that the users can use
- Shortcuts even work on HomePod