[英]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.