问题标签 [nsscanner]

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 投票
4 回答
1190 浏览

objective-c - 使用 NSData 和 NSCoding 加载 iOS 自定义文件格式

我正在从一些 iOS Cocoa 程序员那里寻找一些指导,了解如何实现一种机制来将自定义文件格式加载和解析到我将在内存中使用的模型对象中。我知道一定有很多方法可以解决这个问题,但让我分享一下我目前探索的路径的基本想法,以及我陷入困境的地方。

但首先,这里是上下文:假设我有一个无法更改的现有文件格式。它基本上是一种奇特的管道分隔格式,分为不同的部分,每个部分的开头如下所示:

...并且随后的 n 行都以该部分独有的方式用竖线分隔。有些部分有一个以竖线分隔的标题行,后跟 n 行数据(也是以竖线分隔的),而其他部分可能只有 n 行以竖线分隔的行。文件开头有几个小部分,最后会有一个巨大的部分描述 k-ary 树的节点:它们的父子关系以及与每个节点关联的任何数据。总而言之,这些文件的大小为数十兆字节,将来可能会更大。

最后,最后一点背景是我对 iOS 编程相当陌生。

我首先使用NSFileHandle将文件表示为NSData. 这很容易,在探索NSData接口并尝试从那里开始时,我注意到NSCoding协议,它声称是一种将对象归档和序列化为(和从)表示的工具。

我认为这听起来像是我可能需要的东西,因为我倾向于认为文件格式只是我的模型对象可以编组到的表示形式。然而,在深入研究“档案和序列化编程指南”之后,我开始怀疑自己。API 似乎不适合我想要完成的工作。

我在这里走死胡同吗?我应该寻求子类NSInputStream化,还是应该采取一些我错过的其他方法?

0 投票
2 回答
1466 浏览

iphone - 使用 NSScanner 提取 NSString

我正在从 AllContacts 获取数据;在该数据中,我得到了联系方式,例如 (998) 989-8989。使用此号码,我无法拨打电话。有人可以帮忙吗?提前致谢。

0 投票
1 回答
223 浏览

objective-c - 为什么我在尝试 NSScanner 在 NSString 语句中使用时收到错误消息?

我想知道为什么会收到错误消息

当我使用这行代码时:

错误是:

谢谢你。

0 投票
3 回答
1581 浏览

objective-c - 解析 CSV:NSScanner 如何识别空字段(即,,)?

我对 Xcode 非常陌生,并尝试(以百万计)解析 CSV 文件。我已经阅读了很多贡献并且我正在管理它,但是当我的 NSScanner 截获一个空字段时我遇到了问题:“Field_A,Field_B,,Field_D”。我猜这是因为它默认忽略空白空间,或者在这种情况下根本没有空间。

字符串是:

"个人","2011-01-01","个人","香烟",,4.60,"现金","",

我尝试使用scanLocation对其进行调试:

正如您所看到的那样,即使费用字段也没有任何价值(应该是 4.60)。

这是相关的代码:

我尝试通过 NSScanner 类参考仔细查看,但无法理解?你有什么?

谢谢,法布里齐奥。

0 投票
1 回答
44 浏览

iphone - IB 连接中的 NSScanner 问题

这可能是一个愚蠢的问题,但我遇到了 NSScanner 的问题。我有一个 UITextField 需要在其中获取文本。我似乎无法在 Interface Builder 中连接 NSScanner 字段。你能帮忙吗?

我的文件有以下代码:

0 投票
1 回答
541 浏览

iphone - iPhone - NSScanner 不解析

我正在使用这种方法将第一个 <> 对找到一个字符串(XML 内容):

但仅记录“在 pos 0 找到 '<'”。我的 XML 内容包含许多 <> 项...

为什么这种方法不起作用?

0 投票
2 回答
1966 浏览

iphone - NSScanner 循环问题

我有一个NSScanner对象可以扫描 HTML 文档中的段落标签。似乎扫描仪在它找到的第一个结果处停止,但我需要一个数组中的所有结果。

如何改进我的代码以浏览整个文档?

0 投票
1 回答
655 浏览

iphone - 使用 NSScanner 分段解析字符串

我正在尝试解析格式如下的字符串:

ETC

日期的数量和乐队的数量以及相关的场地可能会有所不同。我正在使用基于本页底部示例的代码。

我正在使用这段代码(我省略了底部的位,因为它们无关紧要,但是是的,我确实关闭了循环等):

目前,第一个日期被解析并打印到控制台,并打印该日期的第一个地点和乐队。永远不会打印“结束扫描”。我已经为此奋斗了几个小时,我不确定现在该怎么做。我有一种感觉,我不了解 NSScanner 的内部工作原理,并且可能有不同的方法来解决这个问题。也许我需要第二台扫描仪?

0 投票
2 回答
657 浏览

cocoa - 如何使用 NSScanner 扫描 ^[a-zA-Z_][a-zA-Z0-9_]* 格式

我正在尝试让我的 NSScanner 尝试扫描以下正则表达式:[a-zA-Z_][a-zA-Z0-9_]*,但遇到了困难。

我可以尝试先阅读 a-Z_,然后尝试附加 a-Z0-9_。

我想知道是否有更简单/更有效的方法来做到这一点。请让我知道,谢谢。


澄清:我不想执行正则表达式。我只是想读取一个看起来像上面的正则表达式的字符串。看起来类似于 C 风格变量的东西。基本上,任何字母数字单词,但不能以数字开头。


说明 2:我正在尝试让扫描仪读取([] 表示每个读取令牌):“test 3”为 [test, 3] “test3”为 [test3] “3test”为 [3, test] “_3test” as [_3test] "_3 test" as [ 3, test] " 3 3test" as [ , 3, 3, test] " 3 test3" as [_, 3, test3]

0 投票
1 回答
1195 浏览

objective-c - iOS/Objective-C:尝试扫描字符串以查找将分配给多个 NSString 的子字符串

我正在尝试完成斯坦福 iPhone 编程(FA10)作业“Flickr Fetcher”——到目前为止一切进展顺利,但我陷入了僵局:

我已成功提取出“Top 100”图片的位置,这些图片的格式为“Country, State, City”。我想创建两个 NSString——一个是国家,另一个是州和城市。然后我可以从哪里做

在我的表视图数据源方法中。

根据 stackoverflow 和Apple Documentaion的研究 NSScanner 似乎是我最好的选择——这就是我目前所拥有的……

我只是想看看字符串本身是否正确子串 - 但是我在 while 循环开始时得到一个“SIGBART”,错误是这样的:

从我在 NSScanner 上看到的所有文档来看,似乎我已经正确设置了它,但是,无论我做什么更改,它似乎都无法开始循环。

我必须做些什么才能正确设置 NSScanner 以避免“SIGABRT”?(为了记录,我假设“SIGABRT”是一个段错误?)。谢谢大家的时间,你们都是最棒的!

(顺便说一句:我知道这对于国家和州城市来说还没有完全实施,我只是想习惯 NSScanner,一旦我控制了 NSScanner,我将实施其余的)

编辑 1:SosBorn!你太不可思议了!非常感谢!所以我已经为我的 viewDidLoad 实现了这个:

这就像一个完整的魅力但是我在尝试访问时在代表中进行了一些错误的访问self.window.rootViewController = self.viewController - 这没有任何意义(我实际上有一个完全空的桌子,等等......) - 所以我在想我用我的子字符串处理了糟糕的内存管理,现在这个委托调用遇到了麻烦。

Chuck,我对您的评论非常感兴趣,因为我被告知创建变量的正确方法是调用 [myclass alloc] init];然后在你完成后释放——就像我一样。当然,我的 Objective-C 绿度有点……脸红

你们所有人和这个令人难以置信的社区对我们学生来说都是一笔财富——感谢你们所有的时间和奉献精神。进步的唯一途径是合作之路!

编辑2:好的——现在它已经完全修复了,没有可怕的泄漏问题。查克你是对的!我完全混淆了 alloc init 的原理——这是我的最终解决方案:

再次感谢 SosBorn,我感觉我忘记了 CS ಠ_ಠ 的基础知识。唯一真正困扰我的是为什么我们必须以这种方式初始化实例 NSMutableArrays ——我发现这是让它们实际工作的唯一方法。