我知道这段代码不起作用,但我怎么能真正正确地初始化它?:
NSUInteger highestModelID = 34605;
NSUInteger highestColorID = 328;
NSUInteger** modelColors[highestModelID][highestColorID] = malloc(highestModelID * highestColorID * sizeof(NSUInteger));
因此有2个动态深度。我有一个多维NSMutableDictionary
的大量缓冲区,它会占用内存。我真的很想做这个原始的。
猜猜如果能够在更多的地方使用它来使用它会更加令人惊讶,因为在这些地方,Objective-C词典甚至NSMutableArray
实际上都是矫枉过正的。随着时间的推移,我NSNumber
使用golang
的东西变得越来越烦恼,这在function RemoveAllHTMLCode($html) {
require_once "PATH/htmlpurifier/library/HTMLPurifier.auto.php";
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Allowed', '');
$purifier = new HTMLPurifier($config);
return $purifier->purify($html);
}
我过去常常是超亮的,突然使它成为减速的主要因素我的应用程序... ..
答案 0 :(得分:2)
创建它的方式与创建NSArray的NSArray并没有什么不同。您需要首先分配NSUInteger *的数组,然后分配其每个元素。
NSUInteger **modelColors;
modelColors = malloc(highestModelID * sizeof(NSUInteger*));
for (int i = 0; i < highestModelID; i++) {
modelColors[i] = malloc(highestColorID * sizeof(NSUInteger));
}
答案 1 :(得分:2)
你需要这个:
NSUInteger* modelColors = malloc(highestModelID * highestColorID * sizeof(NSUInteger));
您可以这样使用:
NSUInteger getModelColor(int modelID, int colorID, int highestModelID, NSUInteger* modelColors) {
return modelColors[colorID * highestModelID + modelID];
}
void setModelColor(NSUInteger color, int modelID, int colorID, int highestModelID, NSUInteger* modelColors) {
modelColors[colorID * highestModelID + modelID] = color;
}
基本上这是一个2D数组,其中modelID
为行编制索引,colorID
对列进行索引(假设为行主要布局)。