add getInstanceByProtocol . you can use  id<protocol> xxx = [[Simple defaultInstance] getInstanceByProtocol: @protocol(xxx)]; get instance