Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '*** -[__NSCFString dataUsingEncoding:allowLossyConversion:]: didn't convert all characters
我在用下面方法計算長度時,出現的bug:
- (CGFloat)lp_length
{
? ? NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
? ? NSData *data = [self dataUsingEncoding:enc];
? ? NSUInteger contentLength = [data length]/2;
? ? return contentLength;
}
當我用字符串直接計算時[string lp_length], 會崩。具體原因不清楚, 猜測是系統bug。
解決方案:
我用textView.text = string;
然后用[textView.text lp_length]去計算就沒事了, 神不神奇