修改delegate实现机制