View NSArray+first.h
@interface NSArray (addition) | |
-(id) firstObject; | |
@end |
View gist:5054182
source ~/.bash_profile | |
hash oclint &> /dev/null | |
if [ $? -eq 1 ]; then | |
echo >&2 "oclint not found, analyzing stopped" | |
exit 1 | |
fi |
View gist:5785069
@interface UIScrollView (willBeginScrollingAnimation) | |
@end | |
@implementation UIScrollView (willBeginScrollingAnimation) | |
#pragma clang diagnostic push | |
#pragma clang diagnostic ignored "-Wobjc-method-access" | |
+(void)load { | |
Method setContentOffsetAnimatedMethod = class_getInstanceMethod([UIScrollView class], @selector(setContentOffset:animated:)); | |
IMP oldImplementation = method_getImplementation(setContentOffsetAnimatedMethod); |
View gist:8961770
NSInteger sourceIntValue; | |
id mappedValue = (@{@(kSomeConstValue1): KSomeConstMappedValue1, | |
@(kSomeConstValue2): KSomeConstMappedValue2}[@(sourceIntValue)])?:KSomeConstMappedDefaultValue; | |
//VS | |
id mappedValue; | |
switch(sourceIntValue) { | |
case kSomeConstValue1: |
View gist:10488144
((void (^)())@[ | |
^{[self action2];}, | |
^{[self action1];} ][value.boolValue])(); | |
//vs | |
if (value.booldValue) { | |
[self action1]; | |
} |
View Enums.swift
enum EndPoints { | |
case GetUser | |
case UpdateUser(userData: User) | |
} | |
extension ParseEndpoints: HTTPEndPointConvertible, HTTPEndPointDSL { | |
func toHTTPEndPoint() -> HTTPEndPoint { | |
let baseURL = "https://api.parse.com/1" | |
switch (self) { |
View NSStringHack.m
@interface NSString (ss) | |
- (NSString *):(NSString *)str; | |
@end | |
@implementation NSString (ss) | |
- (NSString *):(NSString *)str { | |
return [NSString stringWithFormat:self, str]; | |
} | |
@end |
View gist:ef15d46434c0e083fff53653cba55210
pcm.!default { | |
type plug | |
slave.pcm { | |
type dmix | |
ipc_key 1024 | |
slave { | |
pcm "plughw:0,0" | |
rate 48000 # this line is only needed for USB DACs which only support 48khz | |
period_time 0 | |
period_size 1920 |