簡體   English   中英

Objective C 中的 unsigned long , unsigned char 到 Swift

[英]unsigned long , unsigned char in Objective C to Swift

我正在將我的 Objective C 項目更改為 Swift 項目。 在客觀 CI 中使用了 unsigned long、Unsigned char。

const char * bytesIn = [self bytes];
unsigned long bytesLength = range.location + range.length;
unsigned long   bytesOffset = range.location;
NSMutableData * dataOut = [NSMutableData data];

BOOL currIsEOF = NO;
unsigned char currChar;         /* current character */
unsigned char charBuf[MAX_READ];    /* buffer of already read characters */
int count;                       /* number of characters in a run */

/* prime the read loop */
currChar = bytesIn[bytesOffset];
bytesOffset = bytesOffset + skip;
count = 0;

上面是代碼。 任何人都可以幫助將其更改為 Swift 的。 據我了解,在 Swift 中沒有const char

您的代碼片段看起來像是從NSData對象中提取一些字節的更大函數的一部分。 Swift 提供了連接到NSDataData ,並提供了大量的函數來操作字節緩沖區 Swift 集合。 您應該查看您的代碼片段來自的更大的函數,並使用Data提供的函數重鑄算法。

順便說一句,Swift 提供無符號類型,出於某種原因,它將它們視為特殊用途數字類型,並且還提供以 C 類型命名的類型別名,請參閱C 互操作性 因此,如果您有使用無符號類型和/或 Objective-C 代碼的算法,您可以將它們編寫/翻譯成 Swift - 事實上,當無符號數字確實很自然時,結果對於 Swift 人來說似乎是“特殊的”; -)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM