2017-06-21 80 views
0

我的构建成功完成。然后,经过一段时间后此错误弹出:模糊使用方法

“暧昧使用的‘addObjectsDidChangeNotificationObserver(处理器:)’”

我不明白的是为什么会这样,因为addObjectsDidChangeNotificationObserver方法只声明一次在项目中,Xcode显示的第二种情况是使用方法本身。

Found candidate 1

Error location

这里是显示和错误代码的Xcode也显示我作为第一个候选:

public init?(object: Managed, changeHandler: @escaping (ChangeType) ->()) { 
    guard let moc = object.managedObjectContext else { return nil } 

    objectHasBeenDeleted = !type(of: object).defaultPredicate.evaluate(with: object) 

    token = moc.addObjectsDidChangeNotificationObserver(handler: { 
     [unowned self] note in 
     guard let changeType = self.changeType(of: object, in: note) else { return } 
     self.objectHasBeenDeleted = changeType == .delete 
     changeHandler(changeType) 
    }) 
} 

addObjectsDidChangeNotificationObserver()实施,其中的Xcode显示我作为第二位候选人:

extension NSManagedObjectContext { 
    public func addObjectsDidChangeNotificationObserver(handler: @escaping (ObjectsDidChangeNotification) ->()) -> NSObjectProtocol { 
     let nc = NotificationCenter.default 
     return nc.addObserver(forName: .NSManagedObjectContextObjectsDidChange, object: self, queue: nil) { note in 
      let wrappedNote = ObjectsDidChangeNotification(note: note) 
      handler(wrappedNote) 
     } 
    } 
} 
+2

请[编辑]通过张贴实际的代码作为文本,而不是图片你的问题。图片中的代码不能被引用或搜索。 – rmaddy

+1

有一些第三方库参与。此通知不是核心数据框架的一部分 – vadian

+0

不,我没有使用任何第三方库 – user3795541

回答

1

好的,现在问题似乎已经解决了。

很显然,我搞砸了与访问修饰符,但很好的了解,类似的东西可能会导致不明确的错误