有沒有一種方法可以以編程方式獲得核心數據對象的大小(以字節爲單位)?以編程方式獲得核心數據對象的大小(字節)
1
A
回答
1
在此,存在SO線程轉換NSManagedObjectID into NSData
NSURL * url = [[YOUROBJECT objectID] URIRepresentation];
NSData * urlData = [NSKeyedArchiver archivedDataWithRootObject:url];
NSLog(@"Data Length :%d",[urlData length]);
+0
對不起,我雖然這工作,但它給我的參考大小,而不是保存對象的大小。 – Alexandre 2013-04-12 15:46:20
0
則可以使用下面的代碼計算各個NSManagedObject
- (void) calculateSize {
NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Event"];
NSArray *data = [self.managedObjectContext executeFetchRequest:request error:nil];
NSLog(@"Size of %@: %zd", NSStringFromClass([data class]), malloc_size((__bridge const void *) data));
int totalSize = 0;
for(NSManagedObject *object in data)
{
totalSize += malloc_size((__bridge const void *) object);
}
NSLog(@"Managed Object Size total:%d", totalSize);
}
相關問題
- 1. 巨大的核心數據對象
- 2. 如何以編程方式獲取Linux內核頁面大小
- 3. 核心數據的編輯屬性和獲得的唯一對象編輯
- 4. 以編程方式獲得UIImageView的大小
- 5. 如何以編程方式獲得UINavigationBar標題的大小?
- 6. 以編程方式創建實體(核心數據)
- 7. 核心數據以編程方式向條目添加屬性
- 8. 核心數據:以編程方式更改刪除規則
- 9. 核心數據:以編程方式繼承關係變爲無
- 10. 以編程方式添加一對多關係的核心數據
- 11. 以編程方式獲取Azure的實例RAM大小和內核數量
- 12. 獲取核心數據相關對象
- 13. 核心數據:如何保存以編程方式創建的對象數據模型
- 14. Android:根據屏幕大小以編程方式調整大小
- 15. UISlider核心數據編程
- 16. 獲取核心數據對象的子對象的屬性?
- 17. 核心數據文件的大小
- 18. 允許的核心數據大小
- 19. 核心數據:添加關係對象,以現有的對象
- 20. Swift 2 - 核心數據 - 面向對象編程
- 21. 核心數據 - 使用keypath和對象ID獲取對象
- 22. 如何從特定對象ID獲取核心數據對象?
- 23. 以編程方式更改TChart大小
- 24. 以編程方式調整大小NSSplitView
- 25. 以編程方式檢查fixnum大小
- 26. 以編程方式更改RatingBar大小?
- 27. iOS - 當NSManagedObjectModel以編程方式創建時來自擴展的核心數據
- 28. 獲取數據類型字節大小
- 29. 核心數據刪除對象函數
- 30. 以編程方式綁定VS.對象數據源的性能
'[nsDataObj長度]的兩個陣列和總和'給出字節。 – 2013-04-10 11:16:22
@Anoop:'NSData'和核心數據('NSManagedObject')是完全不同的東西。 – 2013-04-10 11:19:37
這就是爲什麼我使用'nsDataObj'。您可以將MangedObj轉換爲NSData並找到。希望[託管對象到數據](http://stackoverflow.com/questions/2357544/how-to-convert-an-nsarray-of-nsmanagedobjects-to-nsdata)將派上用場。 – 2013-04-10 11:23:47