首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ragel和NSMutableString

Ragel和NSMutableString
EN

Stack Overflow用户
提问于 2015-01-12 14:53:04
回答 1查看 100关注 0票数 0

能让Ragel在NSMutableString上工作吗?

我想使用Ragel来生成DFA来标记NSMutableString。“可变”部分意味着,每当单个字符发生更改时,我都不能使用cStringUsingEncoding:。据我所见,有两个问题:

  1. Ragel包含的示例似乎使用char *来获得一个字符,甚至在目标C中也是如此。但我不知道如何获得指向不断变化的NSMutableString的指针。也许可以强迫Ragel使用characterAtIndex:吗?那不是很慢吗?
  2. 如果我正确理解,NSString可能会在运行时更改其内部表示,即它并不总是UTF-16。例如,当它只包含ASCII时,它使用单字节编码.但一旦出现有效范围以外的字符,它就会切换到多字节编码。在Ragel中有可能解释这一点吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-13 16:42:21

在我的头上,我会直接使用CFStringRef,因为它有CFStringCreateMutableWithExternalCharactersNoCopy,它允许您声明自己的缓冲区并显式地禁用您正在讨论的优化。

此外,如果您正确地设置了您的externalCharactersAllocator,您甚至可能受益于免费桥接(虽然这可能不起作用),因此它不会变得太混乱,无论什么变化的字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27904738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档