[英]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 提供了連接到NSData
Data
,並提供了大量的函數來操作字節緩沖區 Swift 集合。 您應該查看您的代碼片段來自的更大的函數,並使用Data
提供的函數重鑄算法。
順便說一句,Swift 提供無符號類型,出於某種原因,它將它們視為特殊用途數字類型,並且還提供以 C 類型命名的類型別名,請參閱C 互操作性。 因此,如果您有使用無符號類型和/或 Objective-C 代碼的算法,您可以將它們編寫/翻譯成 Swift - 事實上,當無符號數字確實很自然時,結果對於 Swift 人來說似乎是“特殊的”; -)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.