1

プロパティを追加する@interfaceがあります。

@interface ITEM : CDVViewController
@property (strong, nonatomic) UIPopoverControler * popoverController;
@end

上記のプロパティを追加すると、クリーンアップしてビルドすると、次のエラーが発生します。

 Property 'popoverController' attempting to use Ivar '_popoverController' declared in super class 'UIViewController'

この行で:

@implementation ITEM   //<---
{
...
}

何が起こっているのかよくわかりませんが、プロパティを削除すると正しくビルドされることはわかっています。

4

1 に答える 1

3

属性をシャドウしようとしています。問題は、この属性がすでにスーパークラスに存在していることです。それでも宣言する場合は、名前を変更してください。

PS:慣例では、定数には大文字を使用し、クラス名は大文字で始める必要があるとされています。したがって、コンパイラで問題が発生しない場合でも、クラス名をItemに変更する必要があります。

于 2013-01-10T19:20:27.483 に答える