- (NSString *) getRandomWord:(int)count{
int nextNum = -1;
NSStringEncoding gbkEncoding =CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSString *result = [[NSString alloc] init];
for (int i = 0; i < count; i++) {
@autoreleasepool {
// [0, 100)之間的亂數
nextNum = arc4random() % 100;
if (nextNum % 4 == 0) {
int heightPos = 176 + arc4random() % 39;
int lowPos = 161 + arc4random() % 93;
Byte wordBytes[2] = {(Byte)heightPos, (Byte)lowPos};
NSString *oneWord = [[NSString alloc] initWithBytes:wordBytes length:2 encoding:gbkEncoding];
result = [result stringByAppendingString:oneWord];
}else if (nextNum % 4 == 1){
char c = 65 + arc4random() % 26;
result = [result stringByAppendingFormat:@"%c", c];
}else if (nextNum % 4 == 2){
char c = 97 + arc4random() % 26;
result = [result stringByAppendingFormat:@"%c", c];
}else{
int num = 1 + arc4random() % 10;
result = [result stringByAppendingFormat:@"%d", num];
}
}
}
return result;
}
uj5u.com熱心網友回復:
不知道有沒有,但CFStringConvertEncodingToNSStringEncoding這個函式屬于CoreFunction框架,這個框架沒有記憶體自動回識訓制
uj5u.com熱心網友回復:
有沒記憶體泄露人肉很難看出來的,用xcode的分析工具檢查一下就知道了xcode---product----Profile----Leak
uj5u.com熱心網友回復:
ARC下沒有記憶體泄漏,因為 NSString 物件型別可以得到自動釋放,而 Byte 陣列記憶體分布在堆疊中,走出 {} 范圍就回被回收轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/71009.html
標籤:iOS
上一篇:iphoneX 13.3卡死
