我有什麼方法可以使用客體c類型,例如NSRange
,CGRect
等(它們是結構體)來自C?我使用目標c運行時訪問目標c類,但一些方法返回並接受目標c類型是結構,我的問題是如何使用從C返回的目標c結構?使用來自C的目標c類型
回答
只要你導入正確的頭文件,當然你可以,那些簡單而簡單的C結構。具體而言,您可以在<Foundation/NSRange.h>
和CGRect
的<CoreGraphics/CGGeometry.h>
中找到NSRange
。
Objective-C
-NSRange
,CGRect
和類似的結構中沒有任何特定的。
好點,+1 – duDE
夠公平的。我想你可以結合我的答案和duDE的 –
NSRange可以通過簡單的使用定義:
typedef struct {
unsigned long location;
unsigned long length;
} NSRange;
的CGRect是有點棘手:
struct CGRect {
CGPoint origin;
CGSize size;
};
typedef struct CGRect CGRect;
struct CGPoint {
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPoint;
struct CGSize {
CGFloat width;
CGFloat height;
};
typedef struct CGSize CGSize;
typedef float CGFloat; // 32-bit
typedef double CGFloat; // 64-bit
!雖然不需要爲已定義的結構重新發明輪子。公共標題出於此目的;) –
- 1. 類型目標C
- 2. 使用來自另一個類的方法在目標C
- 3. 使用C++類在目標c
- 4. 自動調用目標C類方法
- 5. 來自AVMetadataItem目標的ISRC代碼c
- 6. Objective-C中的「目標」來自哪裏?
- 7. 課後使用{}的目的類型c#
- 8. 來自接口的C#鑄造類型
- 9. C++ DLL:包含來自項目的類
- 10. 不兼容的目標C類型
- 11. 闡釋的「警告:分配來自不同目標C型」
- 12. 使用AFNetworking3目標顯示來自json數據的圖像c
- 13. 如何使用不同的號碼類型的目標C
- 14. 在我自己的類中使用目標c中的alloc
- 15. 如何在xcode的Objective-C項目中使用我的自定義類型(C++)?
- 16. 目標C自省
- 17. 目標C - 錯誤:'預期類型'
- 18. 「預期類型」錯誤目標C
- 19. 申報與實際類型,目標C
- 20. 目標C:原始數據類型
- 21. 目標C/iOS版 - 物業類型上
- 22. printf類型id值在目標c中
- 23. 使用自我keyin目標C
- 24. 如何在目標C中使用C++模板類C
- 25. 如何在目標C(Xcode)中使用C,C++程序或類?
- 26. 使用來自C#代碼的C庫
- 27. 來自子類的C#泛型類型參數,可能嗎?
- 28. 使用來自C++的Debug.Log
- 29. 類型扣除C++標準和自動
- 30. 自定義目標c類不編碼
不能這樣做究竟是什麼?請參閱下面的答案。如果你顯示一些代碼,我可以擴展它來包含一些例子。 –
這與objective-c的「運行時」(意味着來自objc/runtime.h的方法)沒有任何關係,但通常只是C類型。因此,我已經移除了標籤。 –