问题标签 [cfdata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
11529 浏览

iphone - 从 PDF 中提取图像

我对从 iPhone 应用程序中提供的 PDF 文档中提取特定图像(仅图像)有一些疑问。

我已经浏览了苹果的文档 - 但我找不到它。

我已经做了以下努力来获得 PDF 文档中的图像。

0 投票
1 回答
755 浏览

c++ - 如何将 std::string 的内容获取到 CFData 对象中?

我有一个返回对象的函数。std::string我正在使用 Cocoa/CoreGraphics,我需要一种方法将该字符串中的数据获取到一个CFData 对象中,以便我可以将输入到一个CGDataProviderCreateWithCFData 对象中以制作CGImage.

CreateCFData函数需要一个const UInt8*对象(UInt8作为 typedef 的unsigned char)。该字符串表示解码后的 Base64 字符串(图像数据)中的字节,因此它似乎包含许多空“字符”,因此将.c_str()输出明显转换为unsigned char*对象将不起作用。

我对 C++ 的经验较少,而且对 Cocoa/CoreGraphics 非常陌生,所以如果有更好的方法来完成我想做的事情,请告诉我。

0 投票
3 回答
2126 浏览

ios - UIWebView - When (or how) does CFData get released?

after multiple days of banging my head against the wall and having sleepless nights I'm hoping to find some help here. I've gone through various posts here, but none of the answers seem to provide a resolution for me.

In short, my problem is that my App crashes after heavy usage (>10min) of the UIWebView (e.g. opening larger news paper sites in series - one after the other).

To give more details: I am writing an iPhone App and from the MainViewController I push a browserViewController on the navigationController. The browserViewController loads a nib which contains a UWebView (I do not create the WebView programatically). The UIWebView is wired up using Interface Builder.

When going back to Main and then going again to the browserViewController, I only recreate the browserViewController if it is nil. (I want to keep the content that is loaded i the UIWebView - only if there is a memory warning shoud this view be unloaded and release all memory used).

In both, MainViewController and browserViewController I am responding to memory warnings, but this seems not to provide enough relief.

Looking at Instruments I noticed that for example CFData(store) keeps increasing. And even if I simulate a memory warning (see code below) and call viewDidUnload on browserViewController, CFData remains allocated and does not get freed.

So my biggest question is:
How to free up memory created from "browsing"?

This counts for two cases:
- how do I make sure that viewDidUnload properly frees memory allocated my CFData(store)?
- how to free up memory when the user keeps loading pages in browserViewController?
.
Who manages CFData?

See below for my simplified sample code:

MainViewController.h

MainViewController.m

BrowserViewController.h

BrowserViewController.m

I have tried various recommendations from other posts. For example:

  • 1) Loading an empty page into the WebView.

    /li>
  • 2) using removeAllCachedResponses on various places in the above code

    /li>
  • 3) setSharedURLCache did also not provide relief ( I also used this in the AppDelegate applicationDidFinishLaunching).

    /li>

Unfortunately none of this has helped to "clear the cache" or to free memory allocated by CFData(store).

If anyone could shine some light on this and let me know what I'm missing or doing wrong I would greatly appreciate this.

.
.

Edit:
After the initial reply from KiwiBastard I added a screen shot that shows what I observe in Instruments:

enter image description here

.
.

Edit from June 2010:
I have still not been able to solve this.
In a second attempt, I created the UIWebView completely programmatically.
Still same issue. However I noticed a strange behavior. If I load for example a PDF document into the webView and I do not scroll the PDF page up or down, the webView & data gets successfully released. However as soon as I scroll to the second page, the dealloc won't work any longer and my App ends up running out of memory at some point. This is totally strange and I cannot get this resolved.
Anyone any idea? Help?

0 投票
1 回答
968 浏览

cocoa - CFData 与 CFString

我有一个CFMutableDictionaryRef,调试器中的一部分是:

现在我可以model使用CFDataRef返回字符串如“GMA 950”的键的值,与上面的值相比。

但是我无法获得"vendor-id"使用相同方法的价值,所以我尝试使用CFString,它返回<86800000>而不是字符串。那么如何检索供应商 ID 的正确值(我已经知道应该为英特尔返回 0x8086)?

0 投票
1 回答
604 浏览

objective-c - {长度 = 6,容量 = 6,字节 = 0x0022412b03ad}

每次我开始构建我的 Xcode 项目时,我都会在控制台中得到这个:

我不知道它是什么意思以及它是什么原因造成的。

有人能帮我吗?

谢谢!

编辑: 我认为这个方法创建它:

我用它来获取活动接口的 MAC 地址。

0 投票
2 回答
5444 浏览

ios - 如何在没有内存泄漏的情况下返回 CFDataRef?[ios]

当我返回CFDataRef

有内存泄漏,如何进行CFDataRefautorelease?方法 [data autorelease] 不退出。

0 投票
1 回答
1835 浏览

iphone - iPhone 编程的 CFDataRef 和像素数据

我正在尝试访问图像的原始像素,但我一直遇到一个让我真正陷入困境的问题。我对 iPhone 编程很陌生,所以它可能非常简单......

这是我的课程,它使用CGImageRef来自图像的图像并查看各个像素。这是我的代码

头文件:

还有我的实现文件:

我遇到的问题是:

该函数setPixelData获取CGImageRef图像并将其复制到pixelData. 然后,在(void) updateGraph方法中,我使用CGImageRef pixelDataand create aCFDataRef来获取原始像素数据。但是,有些不对劲。因为当我使用作为输入的CFDataGetLength方法时,我在程序运行时得到错误。让我感到困惑的是,当我在函数中放入相同的两行代码(如上面的代码所示)并注释掉其中的代码时,程序运行得非常好。CFDataRef pixelRefEXC_BAD_ACCESS(void) setPixelDataupdateGraph

关于可能导致此错误的原因以及如何消除它的任何想法?

谢谢,

山姆

0 投票
1 回答
1869 浏览

objective-c - ARC不允许对目标c类型指针'CFDataRef'进行隐式转换?

我有一个去年夏天创建的 UDP 类型的套接字,它运行良好,如果我打开项目文件仍然运行良好。但是,我已将 .h/.m 文件导入到一个新项目中,该项目确实有 ARC。

ARC 不喜欢以下命令(在 if 语句中使用);

出现错误:

目标 c 类型指针 'CFDataRef' 的隐式转换(又名 'const struct__CFData' 不允许使用 ARC

错误重复,一次为WOLsocket,一次为地址

其中 WOLsocket 创建如下;

(有错误检查代码,这是最基本的!)

并且地址是这样创建的;

我对为什么会发生这种情况感到非常困惑,所有其他 ARC 错误似乎都可以通过丢失“dealloc,release”语句来解决!

所以我的问题是,如何让 ARC 停止抱怨我使用 CFData?(我需要做哪些修改?)

谢谢,

亚历克斯

0 投票
1 回答
1228 浏览

macos - 压缩的 CGImage 与 CGImageDestination 在获取字节后被截断

我想从 CGImageRef 获取压缩数据以通过网络连接发送它。为此,我使用 CGImageDestinationRef (CGImageDestinationCreateWithData)。

将数据从 CFDataRef 对象中拉出后,图像在底部丢失了几行。

这是我所做的(为阅读目的而清理......):

如果我使用 CFData 对象作为 NSData 对象并将其保存到磁盘,它确实可以工作:

但如果是使用 NSDatas 字节方法,它是相同的(截断图像):

似乎 CFData 对象中的数据似乎没问题。但是如何正确获取字节?

感谢您的任何建议。

0 投票
1 回答
974 浏览

objective-c - [[NSMutableData alloc] initWithLength:] 和 CFDataCreateMutable() 的区别?

我正在查看一些创建可变数据对象并将 SHA1 哈希放入其中的代码。如果我初始化目标可变数据对象

一切正常。如果我将那一行更改为

它会中断(在 SHA1 命令之后,可变数据对象似乎仍然为空)。在这两种情况下,创建之后的行hashDataRef

我没想到两者之间会有任何区别,但显然我错过了一些东西。在不使用 NSMutableData 和免费桥接的情况下,是否有适当的 Core Foundation 方法来获取我想要的可变数据对象?