这是一个非常有趣的问题。我的应用程序在使用
我实现了一个队列来处理 present 和 dismiss 的调用。这个解决方案非常完美,我非常满意。但是我意识到另一个问题,如果我不小心直接调用了苹果的方法(我有一个叫做
有没有办法在我直接调用苹果的方法时设置一个警告方法?我尝试过创建一个 Category(我也尝试过一个 Extension),定义苹果的 present 和 dismiss 方法,并向它们添加了一个不推荐使用的消息。这两种方法都没有起作用。我考虑过交换方法,但这不起作用,因为如果交换方法将其添加到队列中,它将如何知道何时调用苹果的实现?我意识到警告将只会出现在我需要调用苹果方法的地方,但我可以使用 #pragma 来抑制我需要的两行的警告。
presentViewController:animated:completion:
和 dismissViewControllerAnimated:completion:
方法时出现了问题。情况是这样的,当 presentViewController 方法被调用时,根据服务器信息,可能会取消 View Controller。我会收到一个错误,说“在完全呈现之前无法取消”(动画设置为 YES)。我实现了一个队列来处理 present 和 dismiss 的调用。这个解决方案非常完美,我非常满意。但是我意识到另一个问题,如果我不小心直接调用了苹果的方法(我有一个叫做
myPresentViewController:animated:completion:
和 myDismissViewControllerAnimated:completion:
的方法来处理队列),该怎么办?有没有办法在我直接调用苹果的方法时设置一个警告方法?我尝试过创建一个 Category(我也尝试过一个 Extension),定义苹果的 present 和 dismiss 方法,并向它们添加了一个不推荐使用的消息。这两种方法都没有起作用。我考虑过交换方法,但这不起作用,因为如果交换方法将其添加到队列中,它将如何知道何时调用苹果的实现?我意识到警告将只会出现在我需要调用苹果方法的地方,但我可以使用 #pragma 来抑制我需要的两行的警告。