2012-02-11 7 views
38

私はXcodeのから次のエラーを取得しています:私は、ストーリーボードで、単一の出口接続部にこれを絞り込むまし「接続をコンパイルできませんでした:」というエラーはどういう意味ですか?

Couldn't compile connection: <IBCocoaTouchOutletConnection:0x401538380 
<IBProxyObject: 0x40154a260> => categoryPicker => <IBUIPickerView: 0x4016de1e0>> 

。 UIPickerからビューのcategoryPickerプロパティへの接続を追加するまで、私のコード(他の多くの接続を持つ約30のビュー)がコンパイルされ、正常に実行されます。ピッカー自体も、私はちょうどこの接続が動作するように取得せずに、それをリロードすることはできませんが、正常に動作します:

@interface FiltersTableViewController : UITableViewController <UIPickerViewDataSource, UIPickerViewDelegate> { 
    NSFetchedResultsController *fetchedResultsController; 
    FilterTableViewController *filterView; 

    AppDelegate *appDelegate; 
    NSManagedObjectContext *managedObjectContext;  
} 

@property (nonatomic, strong) FilterTableViewController *filterView; 
@property (nonatomic, strong) NSFetchedResultsController *fetchedResultsController; 
@property (nonatomic, strong) NSManagedObjectContext *managedObjectContext; 

@property (nonatomic, weak) IBOutlet UIPickerView *categoryPicker; 

- (void)configureCell:(FilterTableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath; 
- (void)performFetch; 

@end 

UIPickerViewはUITableViewCellのです。ここではストーリーボードの画像だ、「FiltersTableViewController」を「categoryPicker」からの接続は、エラーが発生します。 enter image description here

任意のアイデアをお寄せいただきありがとうございます、またはそれをデバッグする方法についての提案を!

EDIT: 私は、接続を削除し、numberOfComponentsInPickerViewに1行を追加しました:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { 

    categoryPicker = pickerView; 

    return 1; 

}

これが機能するようになりました!しかし、私は、接続が動作しません理由を理解したいとそのエラーメッセージの意味今は、オブジェクト参照を取得するために他の場所にIB接続を使用しているので、これは私にとっては厄介なようです。

EDIT 2: プロトタイプセルを接続すると、このエラーが生成されます。Illegal Configuration:Connection "Cell"は、プロトタイプオブジェクトを宛先として持つことはできません。これがXcode 4.5で新しくなったのかどうかは不明です。

+0

categoryPickerは "weak"で、FilterTableViewControllerは "strong"です。 categoryPickerを強くして、それが機能するかどうかを確認してみてください。 – doNotCheckMyBlog

+1

ありがとうございました。ちょうど試しましたが、何も変わりません。 (私はIBOutletsが弱くなければならないという印象を受けています...私はここから取得しています:http://www.raywenderlich.com/5773/beginning-arc-in-ios-5-tutorial-part-2)。 – Symmetric

+1

はい、それは技術的に正しい、申し訳ありません私の悪い!私はちょうどアップルのドキュメントでそれを読んだので! – doNotCheckMyBlog

答えて

107

これはプロトタイプのセルであるという問題があります。それは実際の細胞ではないので、何かへの出口を持つことは意味がありません。それは何十、何百という細胞のモデルであり、その場合出口点はどれですか?

+2

ありがとう!それは今や理にかなっている、私がこの種のもののために接続を使用する他の場所は静的なセルを使う。 – Symmetric

+0

マット、答えに感謝します。私は今立ち往生している。どのように私はアウトレットなしラベルボタンなどのようなこれらのオブジェクトに対処するのですか? – carbonr

+7

タグを使用して、 'viewWithTag:'を呼び出すか、UITableViewCellをサブクラス化して、各_cell_の_own_ボタンを指すコンセントを作成します。 – matt

19

SWIFT 2

私はポップオーバーセグエを作成していたと私は同じエラーを得ていました。

私がしたことは、で@ mattの答えに従っていたので、それは彼がそれを説明した今、論理的なセルに置いていない!

代わりに、私はのアンカーとしてTableViewを置き、正常に動作しました。

将来的に役立つことを希望します。

+3

これを追加していただきありがとうございます。私はスイフト2でこの問題を抱えていましたが、なぜわからなかったのですか – darkndream

+2

喜んで助けました! @darkndream – lukaivicev

+0

@lukesIviコードから実装しましたか? –

関連する問題