Skip to content

Instantly share code, notes, and snippets.

@hiromitsu-murakami
hiromitsu-murakami / NSArray+Monolithic.h
Last active December 13, 2015 21:28
Objective-C Specific Clas Array (Like std::vector<T>)
#import <Foundation/Foundation.h>
@interface NSArray (Monolithic)
- (Class)genericsType;
+ (id)arrayWithClass:(Class)genericsType
withArray:(NSArray *)array;
@end
@hiromitsu-murakami
hiromitsu-murakami / FPNilBlocksPattern.h
Last active August 18, 2017 03:34
Objective-C Nil Blocks Pattern Macro
#import <Foundation/Foundation.h>
// return 0 if nil Blocks. (like nil NSObject)
// ex. FPB(block)(); // OK
// FPB(block)(obj1, obj2); // OK
// NSString *str = FPB(block)(); // OK
// FPB(block); // NG
// NSString *str = FPB(block); // NG, no warning
// int a = 1 + (FPB(block)(10)); // OK, need ()
@hiromitsu-murakami
hiromitsu-murakami / FPAntiCircularReferenceBlockPractice.h
Created November 1, 2013 06:21
Blocksの循環参照 Objective-CのBlocksの循環参照に関する僕なりのベストプラクティス http://blog.katty.in/2612 上記の記事を参考にしたコード
#import <Foundation/Foundation.h>
#import "FPCommon.h"
typedef void (^FPWeakTargetBlock)(typeof_weak_target self);
@interface FPAntiCircularReferenceBlockPractice : NSObject
#import <UIKit/UIKit.h>
// Shortcut of frame rect
@interface UIView (BOX)
@property (nonatomic, assign) CGFloat box_x;
@property (nonatomic, assign) CGFloat box_y;
@property (nonatomic, assign) CGFloat box_width;