Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift 3转换后的dispatch_get_main_queue()objc警告_Ios_Objective C_Swift3_Grand Central Dispatch - Fatal编程技术网

Ios Swift 3转换后的dispatch_get_main_queue()objc警告

Ios Swift 3转换后的dispatch_get_main_queue()objc警告,ios,objective-c,swift3,grand-central-dispatch,Ios,Objective C,Swift3,Grand Central Dispatch,我将我的目标C+Swift 2.x代码转换为Xcode 8中的Swift 3。在转换代码后,我得到了这些新的警告,我不知道它是否安全,我忽略/如何解决它 我的Swift 3代码: func getUserNotificationFromServer(_ completionQueue:DispatchQueue = DispatchQueue.main,callback: @escaping (_ succeeded: Bool, _ response: AnyObject?) -> Vo

我将我的目标C+Swift 2.x代码转换为Xcode 8中的Swift 3。在转换代码后,我得到了这些新的警告,我不知道它是否安全,我忽略/如何解决它

我的Swift 3代码:

func getUserNotificationFromServer(_ completionQueue:DispatchQueue = DispatchQueue.main,callback: @escaping (_ succeeded: Bool, _ response: AnyObject?) -> Void)  {
 [wsManager getUserFavouritesFromServer:dispatch_get_main_queue() callback:^(BOOL succeeded, id  _Nullable response) {
调用此函数的目标C代码

func getUserNotificationFromServer(_ completionQueue:DispatchQueue = DispatchQueue.main,callback: @escaping (_ succeeded: Bool, _ response: AnyObject?) -> Void)  {
 [wsManager getUserFavouritesFromServer:dispatch_get_main_queue() callback:^(BOOL succeeded, id  _Nullable response) {
我收到的警告

发送“dispatch\u queue\u t\u Nonnull”(aka)的指针类型不兼容 “NSObject*”)转换为类型为的参数 'OS_调度_队列*\u非空'


有什么想法吗

我不明白为什么,但是
DispatchQueue
在生成的{ProjectModuleName}-Swift.h中被公开为
OS\u dispatch\u queue*

(最好给苹果发封邮件。)

就我所测试的而言,按照消息中的建议进行强制转换会抑制警告,代码会按预期工作:

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

查看这篇文章,这里的描述非常完美:这篇文章讨论了Swift代码,当我从我的Objective C类调用用Swift 3编写的方法时,会出现这个警告