Builds and runs no problem:
@interface Foo : NSObject
@property (readonly) id foo;
@end
@implementation Foo
- (instancetype)init| #pragma mark - Memory Cache Subscripting | |
| // Allow self[key] for looking up and writing to memory cache | |
| // This is mostly a novelty | |
| - (id)objectForKeyedSubscript:(id)key | |
| { | |
| return [self.memoryCache objectForKey:key]; | |
| } |
| // Works fine | |
| accounts = [accounts filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(ACAccount *evaluatedObject, NSDictionary *bindings) { | |
| return [[[evaluatedObject accountType] identifier] isEqualToString:[self.accountType identifier]]; | |
| }]]; | |
| // No dice | |
| accounts = [accounts filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(ACAccount *evaluatedObject, NSDictionary *bindings) { | |
| return [[evaluatedObject accountType] isEqual:self.accountType]; |
| // | |
| // KATGDownloadOperation.h | |
| // KATG | |
| // | |
| // Created by Doug Russell on 3/7/13. | |
| // Copyright (c) 2013 Doug Russell. All rights reserved. | |
| // | |
| #import "ESHTTPOperation.h" |
| NSString *someText = ...; | |
| NSMutableString *someLines = [NSMutableString new]; | |
| [someText enumerateLinesUsingBlock:^(NSString *line, BOOL *stop) { | |
| // Make sure the line isn't just whitespace | |
| NSMutableString *mutableLine = [line mutableCopy]; | |
| CFStringTrimWhitespace((__bridge CFMutableStringRef)mutableLine); | |
| if ([mutableLine length]) | |
| { | |
| [someLines appendFormat:@" • %@\n", line]; | |
| } |
| // | |
| // ARCLogic.h | |
| // | |
| #ifndef ARCLOGIC | |
| #define ARCLOGIC | |
| #ifdef HASARC | |
| #undef HASARC | |
| #endif |
| // | |
| // KATGShowControlsScrubber.m | |
| // KATG | |
| // | |
| // Created by Doug Russell on 2/24/13. | |
| // Copyright (c) 2013 Doug Russell. All rights reserved. | |
| // | |
| // Licensed under the Apache License, Version 2.0 (the "License"); | |
| // you may not use this file except in compliance with the License. | |
| // You may obtain a copy of the License at |
| #import <Foundation/Foundation.h> | |
| @interface RSTLValue : NSValue | |
| - (BOOL)getValue:(void *)value expectedSize:(size_t)expectedSize; | |
| @end | |
| struct Foo { | |
| NSUInteger i; | |
| char * bar; | |
| }; |
| typedef void (^FilePresenterReacquirerBlock)(void); | |
| typedef void (^FilePresenterReaderBlock)(FilePresenterReacquirerBlock reacquirer); | |
| typedef void (^FilePresenterWriterBlock)(FilePresenterReacquirerBlock reacquirer); | |
| typedef void (^FilePresenterCompletionHandler)(NSError *errorOrNil); | |
| - (void)relinquishPresentedItemToReader:(FilePresenterReaderBlock)reader | |
| { | |
| // Do stuff here ahead of reading | |
| reader(^{ | |
| // Do stuff here after reading is done |
Builds and runs no problem:
@interface Foo : NSObject
@property (readonly) id foo;
@end
@implementation Foo
- (instancetype)initDue to a change in Kaleidoscope 2, Tower 1.4.14 does not work with the latest beta of Kaleidoscope 2 (Build 99 and up) out of the box. We are working with the fine folks at Tower to address this issue.
If you are running 1.4.14, download this script and follow the included instructions:
Future versions of Tower should work as expected without the need for these steps.