2014-01-28 41 views
0

编码之前相比,我添加文本命名subCap在我的代码,像这样一个NSTextView对象:的NSString NSTextView范围在Objective-C追加

[[[_subCAP textStorage] mutableString]appendString:[NSString stringWithFormat:@"%@", subcapLine]]; 

subcapLine将有两个时间码值,例如: “01:00:00:00 01:00:01:00”由一个空格分隔,然后是换行符(\ n),然后是一个字符串,如“ONC314_001_001”,后跟两个换行符字符(\ n \ n)。

最终的结果将创建一个类似的列表:

01:00:00:00 01:00:01:00
ONC314_001_001

01:00:01:00一时: 2时
ONC314_001_002

01:00:02:00 01:00:03:00
ONC314_001_003

等,等,等。

这是一个子标题文件,用于在适当的时间将文本(ONC314行)放入视频文件中,如时间码所示。

但是,我确定存在一组奇怪的情况,其中时间码对可能与以前的时间码对相同,如果发生这种情况,我想跳过追加该行。

所以,我的问题是,由于时间码一直是11个字符,每个空格分开,任何人都可以想到一种方法,我可以很容易地抓住之前的TC对并将它与我在subcapLine I中的当前对准备追加?问题是子标题的文本可能是随机的长度。在我的例子中它们是相同的,但情况并非总是如此。

如果我在编译我的subcapLine之前需要检查,我也可以这样做,但我认为使用某种类型的范围从最后一行代码中获取前一对TC可能更加灵活在NSTextView对象中进行比较(再次,使用范围?)与我即将追加的行中的TC相比较?

非常感谢您的意见和建议。

克里斯Conlee

回答

1

当你添加一个时间码店添加时间码之前,所以你将有偏移您要添加时间码的文本字段字符串的长度。

然后在添加一个新的时间码之前,您可以简单地使用之前存储的偏移量来提取子字符串并进行字符串比较并查看时间码是否相同。

无论字幕的长度如何,这应该允许您始终保持以前时间码的偏移量。

+0

啊,现在这听起来像是一个非常常识的方式来做到这一点。我只是知道有人会有一个建议,我的睡眠剥夺了头脑没有提出。谢谢! – ConleeC