[self.addPlayPOPdismissPopoverAnimated:YES];使用 Xcode 6 编译时失败

Posted

技术标签:

【中文标题】[self.addPlayPOPdismissPopoverAnimated:YES];使用 Xcode 6 编译时失败【英文标题】:[self.addPlayPOP dismissPopoverAnimated:YES]; fails when compiled with Xcode 6 【发布时间】:2014-09-27 05:43:31 【问题描述】:

我升级到 xcode 6 但也保留了 Xcode 5。

在一个应用程序中,我有一行简单的代码来关闭一个弹出框: [self.addPlayPOPdismissPopoverAnimated:YES];

当我使用 Xcode 5 在我的 iPad 上编译和运行我的应用程序时,代码可以工作,但是 当我使用 Xcode 6 编译和运行代码时,代码失败或者我应该说 什么都不做。

应用程序两次都在 ios8.0.2 上运行,但只有在使用 Xcode 6 编译时才会失败。

谁能帮我解决这个问题?

【问题讨论】:

【参考方案1】:

我通过阅读有关 Xcode 6 行为的其他一些主题了解了这一点。

似乎 Xcode 6 处理属性设置的方式不同。

我之前在设置属性 UIPopoverController 时有以下代码。

@property (weak) UIPopoverController *addPlayPOP;

只要是用 xcode5 编译的,它在 ios7 和 ios8 中都能很好地工作。

在 xcode6 中,weak 似乎无法保留该属性,因此我将其更改为 strong,现在它可以使用 xcode6 编译。没试过用xcode5编译。

【讨论】:

以上是关于[self.addPlayPOPdismissPopoverAnimated:YES];使用 Xcode 6 编译时失败的主要内容,如果未能解决你的问题,请参考以下文章