簡體   English   中英

如果NSData <可可中的固定大小,如何添加更多空間

[英]How can add more space if NSData < fixed size in Cocoa

我有一個問題:我使用以下代碼從NSData中獲取數據,但我想從[0; 2048] bytes中獲取數據。 如果我的數據> 2048 * 強文本 *,它可以正常運行,但如果我的data < 2048 ,它將是錯誤的。 因此,如果我的data < 2048到足夠的2048字節,我最后要添加更多的空間。 你能幫助我嗎? 非常感謝。

 NSData *data = [NSData dataWithBytes:[arrayText UTF8String] length:[arrayText lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
 NSData *datawrite = [data subdataWithRange:NSMakeRange(0, 2048)];

如果data > 2048 bytes ,上面的代碼可以正常工作,如果data < 2048 bytes ,我的MAC應用程序掛起。 請給我任何建議。 提前致謝

好的,這將從data復制盡可能多的字節(最多2048個)。 如果結果小於2048字節,則將新數據填充為2048字節。

NSMutableData * datawrite = [ data subdataWithRange:(NSRange){ 0, MIN( 2048, data.length ) } ] mutableCopy ] ;
[ datawrite setLength:2048 ] ;

但是:您能告訴我們更廣泛的應用嗎? 這似乎是一個奇怪的用例,我想了解更多。

暫無
暫無

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

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