2016-12-08 2 views
2

나는 내 목표 C + Swift 2.x 코드를 Xcode 8에서 Swift 3으로 변환합니다. 코드를 변환 한 후, 안전하지 않은지 알 수없는 새로운 경고 메시지가 나타납니다. 그것을 무시하는 방법을 무시하십시오.스위프트 3 변환 후 dispatch_get_main_queue() objc 경고

내 스위프트 3 코드 :이 기능을 i '를 보내는

호환되지 않는 포인터 타입을 수신하고

[wsManager getUserFavouritesFromServer:dispatch_get_main_queue() callback:^(BOOL succeeded, id _Nullable response) { 

경고를 호출

func getUserNotificationFromServer(_ completionQueue:DispatchQueue = DispatchQueue.main,callback: @escaping (_ succeeded: Bool, _ response: AnyObject?) -> Void) { 

목표 C 코드 dispatch_queue_t _No OS_dispatch_queue * _Nonnull '

어떤 생각'유형 의 매개 변수 nnull '(일명 'NSObject의 *) '?

+0

확인 , 여기에 완벽하게 설명되어 있습니다 : [링크] (http://stackoverflow.com/questions/37805885/how-to-create-dispatch-queue-in-swift-3) –

+0

그 게시물은 스위프트 코드에 대한 이야기,이 경고는 언제 온다 내 Objective C 클래스에서 Swift 3로 작성된 메소드를 호출합니다. –

답변

1

이유는 모르지만 DispatchQueue은 생성 된 {ProjectModuleName} -Swift.h에 OS_dispatch_queue *으로 표시됩니다.

(더 나은 애플에 bug report을 보낼 수 있습니다.)

를 지금까지 내가 테스트로, 메시지에서 제안이 경고를 억제하고, 코드가 예상대로 작동으로 바로 캐스팅 :이 게시물

[wsManager getUserNotificationFromServer:(OS_dispatch_queue * _Nonnull)dispatch_get_main_queue() 
           callback:^(BOOL succeeded, id _Nullable response) {