问题标签 [method-swizzling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
788 浏览

objective-c - Objective C - IMP 和函数指针有什么区别?

我最近开始了一个需要进行调配的项目。

看了很多教程后,我有一个问题,实现和函数指针有什么区别?

0 投票
1 回答
674 浏览

ios - 方法 [load] 是否需要调用 [super load]

我知道很多方法需要调用它的超类方法,有些方法不需要,

我正在寻找关于方法调配的东西。它在加载方法中初始化,在教程中没有[super load].

我想知道这是错的还是没有必要打电话[super load]

顺便说一句,此方法用于修复导航损坏。

我碰巧有时会再次出现问题,我对其进行了调试,我认为这是关于线程的。所以我做了这个混搭以在系统方法中添加一些东西。

如果您能说出导航损坏问题或这种方法的混乱,我也非常感谢。

0 投票
3 回答
5563 浏览

ios - 调试核心数据 __NSCFSet addObject nil 异常

我在单元测试期间在核心数据线程上抛出异常,并显示以下消息:

CoreData:错误:严重的应用程序错误。在核心数据更改处理期间捕获到异常。这通常是 NSManagedObjectContextObjectsDidChangeNotification 观察者中的一个错误。-[__NSCFSet addObject:]: 尝试用 userInfo (null) 插入 nil

我正在尝试确定是什么原因造成的,但由于它发生在NSManagedObjectContext队列上,因此该线程没有我自己的任何代码的堆栈跟踪。

-[__NSCFSet addObject:]我在and上设置了符号断点-[NSManagedObjectContext processPendingChanges],但在停在那里时看不到任何状态,这有助于我确定哪些对象导致了问题。

我想到的下一步是尝试 swizzling-[__NSCFSet addObject:]添加我自己的实现,所以我只能在参数为零时停止。希望集合不是空的,我可以通过在插入 nil 之前查看其内容来获取更多信息。不过,我在调配它时遇到了困难,因为它是一门私人课程。

使用上面的一种方法,或者我没有考虑过的一种方法,我怎样才能获得有关导致异常的原因的更多信息?

0 投票
2 回答
152 浏览

ios - 从 SDK 更改 appdelegate 方法

大家好。

我正在尝试开发一个 SDK,该 SDK 将在应用程序进入后台时注册事件 [如后台获取或重大位置更改]。出于这个原因,我需要在 appDelegate 方法中编写代码

和:

问题是,如何在不损坏托管应用程序委托的情况下做到这一点。

我尝试分类,但为了做到这一点,我需要知道 appDelegate

我读了一些关于调配方法的文章,但我不知道如何更改 appdelegate 方法而不是运行它。

如果有人可以提供示例示例代码或链接以帮助清除问题,将不胜感激。

谢谢。

0 投票
1 回答
266 浏览

ios - 使用 swizzling 更改 UIAlertView

我最近收到了一个私有硬件 SDK,可以集成到我公司的移动应用程序中。一切都很好,除了他们使用 aUIAlertView作为一些不透明的方法调用的结果,我的设计团队想给它打上烙印。我无权访问 SDK 的源代码。有没有一种方法可以让我安全地UIAlertView保留所有功能并简单地修改外观,UIAlertView使其与应用外观更具品牌/一致性?如果是这样,我会超载drawRect或其他什么,我将如何弄清楚标签的名称是什么,UIAlertView以便我可以用我想要的大小、形状和颜色来绘制它们?

为了补充细节,该应用程序目前不使用UIAlertView,或者UIAlertViewController理论上 swizzling 只会影响这个闭源 SDK 发生的任何事情。

0 投票
5 回答
689 浏览

ios - 如何覆盖 NSDate 描述?..方法混乱?

我怎么打电话

而不是接收通常的响应,而是获取我在一个名为的函数中拥有的响应,该函数getString()是 of 的extension一部分NSDate

这是我的扩展:

请注意,我不想只使用:

我想覆盖description这个类的原始。

更新:

所以,一切看起来唯一的选择是Method Swizzling如果可能的话

有人对赏金感兴趣吗?

小心

我这样做只是为了个人成长和理解这个概念,而不是计划在这种情况下使用它来发布应用程序,甚至现在还不确定我可以在什么情况下使用它。

0 投票
1 回答
86 浏览

objective-c - 如何混合具有相同名称的方法(NSNotificationCenter postNotificationName)?

我对方法调配相当陌生,我想用它来解决我遇到的问题,这可能是对 NSNotificationCenter 错误调用的结果。为此,我想调动注销对 NSNotificationCenter 的 postNotification 方法的每次调用。我遇到的问题是,有两种方法的名称开头相同(这里是他们可能的混杂实现):

如何通过如下调用将它们识别为单独的选择器?

他们不是都有表格吗?

我错过了什么?

0 投票
1 回答
99 浏览

objective-c - Swizzling 方法,隐式返回 ARC 下的保留对象

例如,让我们考虑 ARC 下的以下代码:

在这段代码中,原始copyWithZone:方法隐式返回一个保留对象,因为它属于copy方法族。但我myCopyWithZone:的不是。

我预计会崩溃,但看起来这段代码工作正常。当然,我可以重命名我的方法以避免混淆。但我很好奇引擎盖下到底发生了什么?

0 投票
2 回答
1381 浏览

ios - 如何调整 NSURLConnection 类的 init 方法

我想调整 NSURLConnection 类的 init init 方法,我已经尝试过这段代码,但它似乎对我不起作用

这是我从视图控制器发起的请求

0 投票
2 回答
1018 浏览

ios - 如何调配 NSURLSession 类方法 dataTaskWithUrl

我一直在尝试调整 NSURLSession 类方法 dataTaskWithRequest 但无法完成

提前致谢 !!