quattro_4 scribble

scribble 落書き (調べた事をただ落書きする)

NSScreencast Episode #81 Associated Objects

Associated Objects - NSScreencast

addTargetでbuttonTappedメソッドのようなものを書かない実装

  • addTarget:self
    • @selector(buttonTapped:)
      • : for argument
    • @selector(setRandomColor)
  • retain cycle (viewDidLoad)
    • __weak ViewController *weakSelf = self;
    • __strong ViewController *strongSelf = weakSelf;
    • [strongSelf setRandomColor];
  • vc -> button -> block -> self (vc)
  • UIButton+Blocks
    • #import <objc/runtime.h>
    • addTargetWithBlock
      • objc_setAssociatedObject
        • &BlockKey
        • OBJC_ASSOCIATION_COPY_NONATOMIC
    • executeBlock
      • objc_getAssociatedObject

addTargetの書き方が気に食わないから、別のHackyな書き方しようとしているが
メンテナンスしづらそう