Use self as a source object to get/set associated object
Rewrite demo code in swift
Stop using main.m
Remove empty bridging header
use MARK annotation instead of pure comment