我想改善我的應用程序的性能,我想從我目前使用的動態分配的C數組中的NSMutableArray進行更改。如何動態分配指向Objective-C對象的指針數組?
作爲一個測試,我創建了這個類:
在我的類接口,我有:
MyObject *myObjectArray;
我在執行,對象已經被初始化之後,我有另一種方法設置陣列:
-(void) createObjectsWithNumberOfObjects:(int)numberOfObjects
{
MyObject *tempObject = nil;
myObjectArray = (MyObject*) malloc(numberOfObjects * sizeof(tempObject));
for(int i = 0; i < numberOfObjects; i++)
tempObject = [[MyObject alloc] init];
myObjectArray[i] = (MyObject*) tempObject; // error
}
}
我得到的錯誤: 不兼容的類型在分配
那我做錯了什麼?
正在使用這樣的對象的動態分配數組?
而且,在我的dealloc方法,我把它安裝到呼叫釋放每一個對象,然後免費(myObjectArray)
@Big狗狗,如果你有性能問題,我都可以,但保證'NSMutableArray'是不是這個原因... –
沒有性能問題(還)。我很好奇使用標準C數組與NSMutableArray的性能增益。每一幀都會有大約一百個對象被訪問,我認爲會有某種性能改進。 但是,你是正確的,如果發生滯後,它可能會在別的地方。 – codedeziner
如果你真的關心性能,我建議避免不成熟的優化,而是用儀器和鯊魚分析你的代碼。您可能會對實際應用中的瓶頸問題感到驚訝。 –