2011-11-09 58 views
1

我新的目標C和我在我需要真正快速創建一個iPhone應用程序的位置,我使用的XCode 4.2方法中的NSString

我有一個字符串(假設這個字符串稱爲字符串1)類型的NSString,我想從這個字符串SOM charaters複製到另一個的NSString(稱爲字符串2)我願做以下算法

If (string1.char 1 ='a' and string1.char 2 ='b' and string1.char3='c') 
{ 
string2.char1=string1.char4 
string2.char2=string1.char5 
string2.char3=string1.char6 
} 

我不是說,上面的代碼是可執行的,但是這是我想實現的想法

也,我是否需要添加其他框架,合成任何變量?正如我剛纔提到的,我對這一切都很新穎

非常感謝!

回答

5

首先,看Apple的文檔始終是一個好主意。只是谷歌'NSString類參考。'

其次,NSString的有幾個方法是做你的願望,一個是

[string1 characterAtIndex:myIndex]; 

其中「myIndex」是你感興趣的索引的NSUInteger(基本上是一個int)。

使用該方法,您可以指定字符串的索引(請記住,這些索引從0開始,而不是從1開始),並檢查哪些字符位於那裏。

if([string1 characterAtIndex:0] == 'a') { 
    //do something 
} 

此外,您還可以使用

[string1 substringToIndex:myIndex]; 

創建子(原字符串,這將是字符串1的較小版本),其由string1中的人物從指數0開始(第一個字符)並轉到您指定的索引。

方法

[string1 substringFromIndex:myIndex]; 

工作方式類似,但創建一個子串起始給定索引處並移動到字符串的末尾。

另外,需要注意的字符串與上述的方法產生,例如,它是重要的:

NSString* stringTwo = [string1 substringToIndex:5]; 

被自動釋放,這意味着由變量「字符串1」引用的字符串可以與將很快除非您保留通過聲明所有權來使用它的權利,否則將從內存中消失。你的方式,聲稱它的所有權(正式名稱爲「固定」的對象)的保留權利對象通過調用

[string1 retain]; 

現在您擁有的對象,目標C承諾不釋放內存,直到你使用釋放它的所有權

[string1 release]; 
1
if ([[string1 substringWithRange:(NSRange){0, 3}] isEqualToString @"abc"]){ 
string2 = [string1 substringWithRange:(NSRange){0, 3}]; 
} 

其中:(NSRange){startingIndex,長度}

這是使用你在你的問題中提到的格式。

相關問題