首先说原理由于某象release(便置nil比UIViewController作delegate)其指针仍空占内存址能直接用类似delegate == nil判定且给该delegate发送任何消息程序都处crash再详说解决办其实用技巧主要思路delegate释放其占内存址其值内存址某具体象重载delegate赋值操作该操作面记该delegate类类型使用delegate检测前delegate否与前记delegate同类型则说明该delegate没释放说明释放别发起调p