问题标签 [cfstring]

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 投票
0 回答
829 浏览

cocoa - 如何快速从 AVCaptureDeviceFormat 获取格式名称?

这是我在objective-c中的代码

我需要这个代码,我该怎么做?

我试过这样但给出错误

在此处输入图像描述

0 投票
2 回答
388 浏览

objective-c - 似乎无法使用 ARC 从 NSString* 转换为 CFString*

我正在使用以下代码在 Objective-C(Mac OS X Cocoa 应用程序)中获取文件的文件类型:

但是,产生的唯一错误是在以下行:

说:

从 'NSString *__strong *' 到 'CFStringRef *' 的 C 风格转换(又名 'const __CFString **')抛弃了限定符

在做了一些研究之后,我发现__bridge需要关键字才能使从 NSString* 到 CFStringRef* 的强制转换在 ARC 中有效。所以我坚持使用关键字,产生:

现在,我收到以下错误:

使用 __bridge 强制转换将 'NSString *__strong *' 转换为 'CFStringRef *'(又名 'const __CFString **')的不兼容类型

它开始让我发疯......无论我似乎尝试什么,我都无法让错误消失。有任何想法吗?

0 投票
2 回答
878 浏览

swift - NSData 编码

目前,我正在尝试NSData在我的 iOS 应用程序中解析一个。问题是,我似乎找不到合适的希伯来语编码进行解析。我必须使用Windows-1255编码(Windows 的希伯来编码类型)或ISO 8859-8编码对数据进行解码,否则我会得到纯乱码。我最接近解决问题的方法是使用

但是它会抛出'CFStringEncodings' is not convertible to 'CFStringEncoding'(注意 Encoding s vs Encoding)。

我该怎么做才能正确编码数据?

谢谢!

0 投票
1 回答
102 浏览

objective-c - 为什么我的 UILabel 被释放?

我试图追查崩溃的根源。我已经对应用程序进行了分析以寻找僵尸,它似乎与更新我的 UILabel 中的一个文本有关。我认为我没有不正确地设置文本值。这看起来对吗?

在此处输入图像描述

这是我设置 UILabel 文本的地方。

UILabel 在头文件中声明如下:

我现在已经为 UILabel 添加了如下所示的属性,并将它们合成到 .m 文件中。尽管如此,仍然遇到完全相同的问题。

0 投票
1 回答
494 浏览

ios - CFString 的内存问题

当我在一系列 AFNetworking 服务器请求期间关闭 WiFi 时,我会无缘无故地增加内存。我提供了仪器给出的内存配置文件。为什么这在不做任何事情的情况下会增加?我怎样才能摆脱这个?

僵尸仪器结果截图

0 投票
1 回答
208 浏览

objective-c - 将 Swift 转换为 Objective-C 对编译器警告的解释?

我想围绕 NSURLSession 创建一个包装器,我发现了一些不错的代码,但它是用 Swift 编写的。https://github.com/daltoniam/SwiftHTTP。但是由于我仍然用Objective-C编写生产代码,我开始借用上面代码的想法,虽然我很难理解下面的代码并翻译成Objective-C(如果需要的话)。我知道我可以使用 AFNetworking,但由于构建可分发框架时的架构决策,这是不可行的。

编码:

我的 Objective-C 代码:

编译器警告:

我没有使用 CFStringEncoding 和 CFString 的丰富经验,所以我发现很难翻译文档。

我真的需要这种转换吗?它的目的是什么?

0 投票
4 回答
10515 浏览

c++ - 从 CFURLRef 或 CFStringRef 转换为 std::string

如何将 a 转换CFURLRef为 C++ std::string

我也可以通过以下方式从 the 转换CFURLRef为 a CFStringRef

但现在我有同样的问题。如何将 转换CFStringRefstd::string

0 投票
2 回答
4212 浏览

swift - 如何在 OS X 目标中创建 CFDictionary?

根据文档 CFDictionaryCreate用于实例化 CFDictionary 中的swift.

如何创建keysandvalues参数?到目前为止,我尝试使用 swift 的String类型,希望它能自动转换为适当的类型:

不幸的是,我收到一条错误消息,说不是String数组元素的正确类型:keysvalues

我怎么做UnsafePointer<Void>String

0 投票
1 回答
515 浏览

objective-c - 将 NSArray 转换为 CFStringRef *

我需要一种将NSArray转换为与DADiskMountWithArguments的参数选项兼容的空终止列表的方法。

该文档将参数选项指定为类型的“空终止列表” CFStringRef arguments[]

我创建了一个 Mount 方法,我想通过参数传递一个NSArray,并且在我的方法中我需要将NSArray转换为 CFStringRef *。

我已经尝试过自己,但我总是遇到 ARC 的麻烦,而且我还没有找到任何好的方法来做到这一点。

我查看了 GitHub https://github.com/aburgh/Disk-Arbitrator/blob/master/Source/Disk.m中的 Disk-Arbitrator 项目以获取灵感,该应用程序的创建者使用此方法:

但这在 ARC 中是不允许的,我找不到办法。

更新以获得更好的清晰度:

这一行:

给出以下错误消息:

ARC 不允许将非 Objective-C 指针类型“void *”隐式转换为“__strong id *”

指向没有明确所有权的非常量类型“id”的指针。

为了解决这个问题,我尝试这样做:

然后这一行:

给出以下错误:

[错误] ARC 不允许将 Objective-C 指针隐式转换为“__unsafe_unretained id *”

[警告]不兼容的指针类型将“__string id”发送到“__unsafe_unretained id *”类型的参数

-getObjects:range:的声明如下所示:

因此,从我收到的错误消息中,我假设我必须将“__unsafe_unretained id *”传递给“getObjects:(id [])aBuffer”。所以要解决这个问题,我将我的 id 声明为 __unsafe_unretained,如下所示:

并像这样更新这一行:

现在我没有任何错误,但是在调用DADiskMountWithArguments 时,我收到以下错误:

ARC 不允许将 Objective-C 指针转换为“CFStringRef *”(又名“const struct __CFString **”)

所以在这里我卡住了,因为我无法修复这个错误,我不知道我之前是否犯了错误,或者我没有找到正确的方式发送 CFStringRef,因此我决定在这里寻求指导。

这是它在上下文中的样子,其中 args 是之前声明的NSArray

所以我的问题是,如何使这种方法对 ARC 友好,或者是否有另一种/更好的方法可以从NSArray到以 NULL 结尾的 CFStringRef *

0 投票
1 回答
1311 浏览

ios - '[CFString!]' 不能转换为 '[String]'

在 Swift 1.2 之前,我有以下数组:

在我将 Xcode 更新到 6.3 之后,我不能这样:

因为编译器向我显示了一个错误:'[CFString!]' is not convertible to '[String]'.

我可能可以将每个转换CFStringString数组,但也许有一种更简单、更易读的方法来解决这个问题?