2

Whenever I add a new IBOulet / rename an existing one in my source code, the associated File Owner Connection Inspector in .xib file does not get refreshed anymore.

If I close and reopen the project new outlets appear, but as long as I keep it open there is no way to access them. It happens in every .xib file, and it's not a matter of proper custom class name - it is always associated ViewController.

This issue started happening since Xcode 4.4.1 update - anybody experiencing the same behavior?

4

1 に答える 1

1

インスタンス変数で「IBOutlet」を使用するのではなく、アウトレットをプロパティとして定義してみてください。追加したアウトレットが ivar として Xcode に表示されないという、さらに悪い問題がありました。ivar アプローチを使用した xib を更新していました。Xcodeを再起動しても、アウトレットが存在するとは決して言わず、既存のすべてのアウトレットがヘッダーから欠落していると主張しました(「クラス」にはアウトレット「foo」がありません)。

プロパティ スタイルのアウトレットは次のとおりです (OS X プロジェクト内)。

@property (nonatomic, weak) IBOutlet NSButton *okButton;

追加するために編集: 問題は、ワークスペース内のアプリ プロジェクトの依存関係として含まれるフレームワーク プロジェクトにあり、@property ベースのアウトレットにはまだ一貫性のない問題がありました。ワークスペースを閉じて、フレームワーク プロジェクトだけを開くと、問題はなくなりました。ワークスペースのコンテキストでは、@property アウトレットの方が好きです。

于 2012-10-02T03:56:18.857 に答える