2013-02-25 64 views
1

我試圖聲明NSObject類型的函數來調用某些核心圖形繪圖。你如何正確地在目標c中聲明一個函數?
我沒有做任何事情複雜,有點像......未知類型名稱函數中的CGRect(而非方法)聲明

.H

void drawShape(CGRect rect); 

然而,這引發unknown type name 'CGRect'錯誤。我不知道爲什麼它在applicationservices.h

回答

8

CGRect是CoreGraphics框架的一部分;因此,您必須確保將其包含在您的應用程序中。

+0

它是,我用它遍佈各地。 – JMD 2013-02-25 22:21:04

+1

將文件頭添加到文件中,獲取編譯錯誤並查看問題是否已修復。我的猜測是會的。 – Jeremy 2013-02-25 22:24:20

5

我想你忘了導入CoreGraphics標題。

我可以編譯使用clang命令行這個代碼沒有錯誤:

#include <CoreGraphics/CGGeometry.h> 

void drawShape(CGRect rect); 

int main() 
{ 
    return 0; 
} 
0

我想你沒有與您的項目鏈接CoreGraphics.framework。在CoreGraphics框架中定義了CGRect

+1

如果您只需要CGRect結構,則實際上並不需要鏈接CoreGraphics.framework。導入標題就足夠了。 – Felix 2013-02-25 22:27:33