兩者都返回相同的指針。我知道- bytes
屬於NSData
,爲什麼NSMutableData
介紹- mutableBytes
?它僅僅是爲了代碼的清晰性,所以你訪問可變數據更明顯嗎?使用哪一個真的很重要?NSMutableData的mutableBytes和字節方法之間的區別
NSMutableData* mydata = [[NSMutableData alloc] init];
[mydata appendData: [@"hello" dataUsingEncoding:NSUTF8StringEncoding]];
NSLog(@"%p", [mydata mutableBytes]);
NSLog(@"%p", [mydata bytes]);
感謝。
只要稍微添加到@ rob的答案,' - bytes'方法是隻讀的**,即使從NSMutableData **調用時也是如此。是基類的一部分,但是如果你使用NSMutableData並且需要一個可變的字節拷貝,你可以調用' - mutableBytes'函數,以便你可以對它進行修改(這是可變的意思)。 – lnafziger 2012-03-17 03:45:31
任何人都知道NSMutableData數據管理的內部? ' - mutableBytes'指針是否將所有數據精確地放在一行中,還是將數據分段爲例如1kb的塊,並且在每個段的末尾是否是指向下一個1kb段的指針? (我希望這是有道理的)。 – 2012-03-20 19:17:21
@Dabbu'NSData'和'NSMutableData'將它們的內容存儲爲一個連續的字節數組。 – 2012-03-20 19:28:12