0
注意:在其他問題中,它們會比較存儲在NSData對象中的值,而不是其字節。將NSData與字節序列進行比較?
我想這樣的事情進行:
NSData *d = ...;
if (d == "fff1") {
...
}
唯一的解決辦法,我發現:
NSData *d = ...;
NSString *str = [NSString withFormat:@"%@", d];
if ([str isEqualToString:@"<fff1>"] {
...
}
但我不喜歡,我需要在比較添加額外的周邊backets。有更好的解決方案嗎?
這兩種方式不工作。 – user3798020
那麼,這個問題很可能是你如何表示數據「fff1」。嘗試記錄[NSData dataWithBytes:「fff1」length:sizeof(「fff1」)],看看會發生什麼。這些字符值與我所看到的比較無關。幸運的是,爲什麼你的方法有效,是因爲如何爲NSData定義「描述」方法。如果蘋果改變了這種方法,你的代碼將停止工作。 –
看看這篇文章: http://stackoverflow.com/questions/7317860/converting-hex-nsstring-to-nsdata –