2012-07-15 57 views
0

在我的應用程序中,我使用從UITextField傳遞的字符串。它可以工作,但是當用戶輸入帶有空格(即2個或更多字)的文本時,應用程序會在我使用它的地方崩潰。從文本字段使用空格使應用程序崩潰

.h 
NSString *nameReturned 
IBOutlet UITextField *nameField; 

.m 
nameReturned = nameField.text; 

在應用程序崩潰是有一點:

NSLog(@"name returned %@",nameReturned); //here the NSLOg returns the string with the blanks spaces, I mean 2 or more word correctly 
NSString *name = [[NSString alloc] initWithFormat:@"%@", nameReturned]; //there the app crash if blank spaces are present. 

我用這個字符串來獲得我使用的URL請求的URL。

+1

很難想象如果真的nameReturned是一個字符串,但會崩潰,而不管,你不應該使用用戶輸入的格式作爲格式,並且如果你只是在做我,你不需要任何格式s複製一個字符串。 – 2012-07-15 22:58:59

+0

你可以在你設置'nameRetrieved'的地方發佈你的代碼嗎? – Imirak 2012-07-15 23:03:17

+0

我只是編輯答案...這些問題安裝了2個或更多字的onluy ... – doxsi 2012-07-16 08:50:52

回答

1

請發表更多信息。

它爲我

工作正常.H

@interface MyClass : UIViewController { 


    NSString *nameReturned; 
    IBOutlet UITextField *nameField; 


} 

@property (nonatomic, retain) IBOutlet UITextField *nameField; 

-(IBAction)clickMe; 

@end 

.M

@implementation MyClass 
@synthesize nameField; 

-(IBAction)clickMe{ 

nameReturned = [[nameField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] retain]; 
NSLog(@"name returned %@",nameReturned); //here the NSLOg returns the string with the blanks spaces, I mean 2 or more word correctly 
NSString *name = [[NSString alloc] initWithFormat:@"%@", nameReturned]; //there the app crash if blank spaces are present. 
NSURL *uRL = [NSURL fileURLWithPath:name]; 

    //release the nameField in dealloc and nameReturned your after usage 

} 

@end 
+0

Tx用於回答。我正在試驗的問題是將大約2(或更多)個單詞用於空格分隔。該應用程序不會爲一個單詞而崩潰,而是以2爲單位,是的。 – doxsi 2012-07-16 08:42:26

+0

我編輯我的答案.... – doxsi 2012-07-16 08:51:17

+0

我編輯了我的答案.. – 2012-07-17 06:36:12