2014-12-28 188 views
0

我在我的viewController.m文件中有這個宏。 I.m新的Xcode btw。函數隱式聲明'dispatch_get_global_queue'

#define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PROPERTY_DEFAULT, 0) 

我就行收到這個錯誤在那裏說:「kBgQueue」的功能隱式聲明「dispatch_get_global_queue」

dispatch_async(kBgQueue, ^{ 
    NSData* data = [NSData dataWithContentsOfURL: 
        kLatestKivaLoansURL]; 
    [self performSelectorOnMainThread:@selector(fetchedData:) 
          withObject:data waitUntilDone:YES]; 
}); 

預先感謝您。

+2

是不是PRIORITY_DEFAULT,不屬性? – jrturton

+1

不知道這是否解決了問題,但我注意到你有'QUEUE_PROPERTY_DEFAULT'而不是'QUEUE_PRIORITY_DEFAULT'。另外,對於宏來說,將定義放在父元素中通常是個好主意 – oltman

+1

我發現通常不會使用它們是個好主意:)缺少語法檢查/自動完成只是一個原因。 – jrturton

回答

0

你有拼寫錯誤,我想和工作得很好:

#define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0) 

dispatch_async(kBgQueue,^

作品就好了.. :)

編輯:

#define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) 

是上面的行在同一個文件中聲明你正在使用它?如果沒有導入您聲明的標頭。 :)

+0

噢謝謝指出它,但我糾正我的拼寫錯誤後,我得到另一個錯誤,說隱式聲明的函數dispatch_get_global_queue是無效的c99 –

+0

@ShawnClarke>你能分享你的代碼嗎?多一點的代碼? – Rashad

+0

@ShawnClarke看我的編輯..) – Rashad