通过 Cocoa 类在 Objective Pascal 单元中将 AnsiString 转换或转换为 NSMutableData

Posted

技术标签:

【中文标题】通过 Cocoa 类在 Objective Pascal 单元中将 AnsiString 转换或转换为 NSMutableData【英文标题】:Cast or convert AnsiString to NSMutableData in Objective Pascal unit over Cocoa classes 【发布时间】:2015-05-08 08:46:17 【问题描述】:

使用 Objective Pascal 编写 Lazarus 单元以与 Mac OS X 上的 Cocoa 类交互。我想将 FreePascal 调用者的 AnsiString 传递给需要 NSMutableData 参数值的 Cocoa 类。如何将 AnsiString 数据转换或转换为 NSMutableData 数据,以 Objective Pascal 方言编码?

感谢您的考虑!

【问题讨论】:

【参考方案1】:

嗯嗯……

MyMutableData := MyMutableData.appendBytes(@MyAnsiString[1], SizeOfString);

NSMutableData 的 appendBytes 方法接受一个指针,所以 @MyAnsiString[1] 提供了它。

[1] 绕过实际 ansistring 前面的长度和计数器信息。

【讨论】:

以上是关于通过 Cocoa 类在 Objective Pascal 单元中将 AnsiString 转换或转换为 NSMutableData的主要内容,如果未能解决你的问题,请参考以下文章

Swift与Objective-C和Cocoa混合编程的基本设置!

Using Swift with Cocoa and Objective-C(Swift 2.0版):开始--基础设置-备

使用 Cocoa 和 Objective-C 理解引用计数

Cocoa入门的介绍

使用 vImageScale_ARGB8888 缩放图像时图像质量受到影响 - Cocoa Objective C

从 C++ 和 Objective-C++ 链接到 Cocoa 框架