2017-07-02 7 views
3

私はスウィフトにNSFetchedResultsControllerクラスへの簡単な拡張機能を記述しようとしている4.スウィフトにNSFetchedResultsControllerのための拡張機能を作成する方法4

ここに私の最初の試みだ - スウィフト3で働いていた:

public extension NSFetchedResultsController 
{ 
    public func sectionCount() -> Int 
    { 
     if self.sections == nil 
     { 
      return 0 
     } 

     return self.sections!.count 
    } 
} 

しかし、私はスウィフト4とXcodeの9のベータ2に、このコンパイルエラーが出ます:一般的なObjective-Cのクラスの

拡張はチビで、クラスの ジェネリックパラメータにアクセスすることはできませんime

私は他のバリエーションを無駄にしてみました。私はと一致する特定のタイプのNSManagedObjectにバインドされた拡張を作成できます。これには、NSFetchedResultsControllerで使用されるすべての管理オブジェクトタイプの拡張を作成する必要があるという欠点があります。

最新のスウィフト4のドキュメントはこれをうまく説明していないようです。

+0

解決方法を見つけましたか?私は同じ問題を抱えている。 –

答えて

4

私はこの回答を見つけたと思います。 この関数はObjective-Cで使用可能にする必要があります。

funcに@objcを追加すると、コンパイルエラーが取り除かれます。少なくともそれは私のためにやった!

関連する問題