2014-01-28 68 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