This blog post series has moved here.
You might also be interested in the 2016 version.
// This code accompanies a blog post: http://chris.eidhof.nl/posts/json-parsing-in-swift.html | |
// | |
// As of Beta5, the >>= operator is already defined, so I changed it to >>>= | |
import Foundation | |
let parsedJSON : [String:AnyObject] = [ | |
"stat": "ok", | |
"blogs": [ |
module DapperFSharp = | |
open System.Data.SqlClient | |
open System.Dynamic | |
open System.Collections.Generic | |
open Dapper | |
let dapperQuery<'Result> (query:string) (connection:SqlConnection) = | |
connection.Query<'Result>(query) | |
let dapperParametrizedQuery<'Result> (query:string) (param:obj) (connection:SqlConnection) : 'Result seq = |
This blog post series has moved here.
You might also be interested in the 2016 version.
// This ensures that the automaticallyAdjustsScrollViewInsets magic works | |
// On our newly added view controller as well. | |
// This triggers _layoutViewController which then triggers | |
// _computeAndApplyScrollContentInsetDeltaForViewController: | |
// which finally updates our content inset of the scroll view (if any) | |
// rdar://19053416 | |
[self.navigationController.view setNeedsLayout]; |
/// Brian Kernighan's article in Beautiful Code talks about the minimalist regex matcher written by | |
/// Rob Pike for their Practice of Programming book as "one of the best examples of recursion that I | |
/// have ever seen, and it shows the power of C pointers". | |
/// | |
/// Swift strings don't use pointers, and the original code relied heavily on the last character of a | |
/// C string being `\0`, but you can reproduce many of the nice aspects of the original C code using a | |
/// combination of slicing and `dropFirst`, the `first` function that returns an optional you can then | |
/// compare to a non-optional character, and the Swift 1.2 `if...let...where` | |
/// | |
/// In theory no string copying should be happening since the slices are just a subrange view on the |
Wil Turner, Brook Callhan: Speakers
##3 Main components/concepts that enable UI Testing:##
[ | |
{ | |
"action": { | |
"type": "block" | |
}, | |
"trigger": { | |
"url-filter": ".*", | |
"resource-type": ["script"], | |
"load-type": ["third-party"], | |
"if-domain": ["imore.com"] |
This, is actually the wrong conclusion. The entire purpose of the “inner class” is to provide value semantics while maintaining effeciency of implementation.
Is that an opinion? Or was there a meeting when the "entire purpose" of inner classes was established and I wasn't invited? Sure, they can be used for efficiency, but they can also be used for other purposes, including inner mutation.
Just for starters, Mike Ash seems to have uncovered that inner classes are used inside the standard library to provide destructors:
Destruction can be solved by using a class, which provides deinit. The pointer can be destroyed there. class doesn't have value semantics, but we can solve this by using class for the implementation of the struct, and exposing the struct as the external interface to the array.
So to say that the "entire purpose" of inner classes is efficiency is I think plainly false; they are used for many reasons. E
static NSData *PSPDFCalculateSHA256FromFileURL(NSURL *fileURL, CC_LONG dataLength, NSError **error) { | |
NSCParameterAssert(fileURL); | |
NSData *shaData; | |
int fd = open(fileURL.path.UTF8String, O_RDONLY); | |
if (fd < 0) { | |
if (error) *error = [NSError pspdf_errorWithCode:PSPDFErrorCodeUnableToOpenPDF description:@"Failed to open file for calculating SHA256."]; | |
return nil; | |
} |