malloc_size无法确定剪贴板内容大小

时间:2013-08-23 13:34:59

标签: iphone objective-c ipad clipboard

我正在尝试检测剪贴板中对象的大小。我试过了:

UIPasteBoard *pb = [UIPasteboard generalPasteboard];
for(NSDictionary *myDictionary in [pb items]){
    NSLog(@"%zu", malloc_size((__bridge const void *)(myDictionary)));
}

问题是,无论剪贴板或电影中是否有一个单词(纯文本),都会返回相似的数字!

如何为剪贴板中的对象找到可靠的大小?

1 个答案:

答案 0 :(得分:0)

在这种情况下,malloc_size仅包含"结构" NSDictionary,它分配的任何内存并保持指针。简而言之,malloc_size对此目的来说毫无用处。

要了解粘贴板上对象的大小,您可以尝试这样做:

UIPasteboard* pb = [UIPasteboard generalPasteboard];
NSUInteger totalSize = 0;
for (NSString* type in pb.pasteboardTypes)
{
    NSData* data = [pb dataForPasteboardType: type];
    totalSize += data.length;
}