jasenhuang/NSObjectSafe

iOS11 使用导航的搜索控制器属性,崩溃

Opened this issue · 5 comments

这是一个能稳定复现的崩溃
从页面A 模态弹出 页面B(页面B中使用self.navigationItem.searchController = self.searchController 添加搜索栏)
此时使用该类库会稳定崩溃,打开僵尸对象,控制台打印*** -[UINavigationBar release]: message sent to deallocated instance 0x7fa305303970
若移除该类库则正常
若无法复现我可以上传demo

@YearRen 贴下关键代码?

TestNSObjectSafeDemo.zip
这个是完整的测试demo @jasenhuang

iOS 11.4.1 xcode 9.4.1 刚才试了真机 也是会崩溃,用的是我上面发的那个demo
点击进入下一页之后点击左上角的关闭按钮,会崩溃

        [NSArray swizzleClassMethod:@selector(arrayWithObjects:count:) withMethod:@selector(hookArrayWithObjects:count:)];

注释这行就好,但我还没想到为什么。

注释掉这个是不是相当于方法不交换了?功能上有什么影响么?