2011-05-23 68 views
-1

我想修剪一個字符串爲50個字符(如果它太長),所以我決定使用下面的方法。修剪NSString而不擴展它

someString = [someString stringByPaddingToLength: 50 withString: @"" startingAtIndex: 0]; 

可以在withString參數後面傳遞空字符串嗎?當方法嘗試添加字符串時,我不想讓應用程序崩潰,直到someString的長度爲50個字符。恐怕會很糟糕,因爲它必須迭代字符串[someString length]/0次。

我應該用nil代替還是尋找另一種方法來修整?

謝謝。

+1

你不能只是試試呢? – titaniumdecoy 2011-05-23 20:28:52

+0

@Jason Boyle:作爲一名Objective-C和Cocoa初學者,我沒有足夠的經驗去知道錯誤(我現在有50個人之一)在哪裏。它可以在任何地方。即使我爲此開始了一個新項目,我可能會犯更多的錯誤。 – 2011-05-23 20:41:35

回答

2

我不確定你爲什麼使用stringByPaddingToLength:...方法,如果你想修剪一個字符串。我原以爲substringToIndex:NSString方法將是一個更合乎邏輯的解決方案。

例如:

NSString *testString = @"This is a test string that contains over fifty characters. Exciting, yet true."; 

if([testString length] > 50) { 
    // The source string is long enough to grab a substring of. 
    NSString *truncatedString = [testString substringToIndex:50]; 
} 
else { 
    // The source string is already less than fifty characters. 
    NSString *truncatedString = [NSString stringWithString:testString]; 
} 
+0

謝謝。你的解決方案更簡單。 :-) – 2011-05-23 20:43:07

2

爲什麼不使用-[NSString substringToIndex:]