2012-11-02 19 views
0

我有這我得到輸入像這樣的表單字段:修剪一個變量,並分配給本身似乎不起作用

NSString *name = personName.text; 

那麼我這樣做:

NSString *name = [name stringByTrimmingCharactersInSet: 
       [NSCharacterSet whitespaceAndNewlineCharacterSet]]; 

但額外的字符串似乎不會消失。我做錯了什麼嗎?當輸入爲零時,如果我得到字段值而不觸發字段,是否有辦法執行修剪,從而不會生成異常?

謝謝!

+0

在使用-stringByTrimmingCharactersInSet創建新的字符串之後,您如何處理它? – hooleyhoop

+0

@hooleyhoop我把它發送到數據庫....沒什麼特別的:) – GeekedOut

+0

你是什麼意思「額外的字符串似乎不會消失」?你能舉一個你的輸入字符串的例子,以及你在修剪後得到了什麼? – rdelmar

回答

2

我不確定,但我認爲你不應該再次創建「名稱」。只需直接分配。像: name = [name stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];

1

namenil時,上面的代碼應該不成問題。在Objective-C中允許發送消息nil,結果將再次爲nil。問題必須在其他地方。否則,在嘗試使用name之後,可能會在此部分之後的某個位置將其添加到數組或字典中。

考慮用空字符串替換nilname

if (!name) name = @"";