2011-08-31 41 views
8

đây Dưới đây là mã của tôiNSURL trả Nil Value

NSString *string = [NSString stringWithFormat:@" http://abc.com /Demo/View.php?drinkId=%@&name=%@&comment=%@&date=%@&rating=%@& ReqestType=SubmitComment",DrinkId,Name,Comment,Date,Rating]; 

NSURL *url   = [[NSURL alloc] initWithString:string]; 

đây trong chuỗi có giá trị nhưng url trả về nil. Bất cứ ai cũng có thể cho biết lý do tại sao điều này xảy ra.

Cảm ơn ....

"Điều này sẽ không làm việc, vì vậy đây là những gì tôi đã làm thay vì"

NSString *string = [NSString stringWithFormat:@"http://abc.com/Demo/View.php?drinkId=%@&name=%@&comment=%@&date=%@&rating=%@&ReqestType=SubmitComment",DrinkId,Name,Comment,Date,Rating]; 

NSURL *url   = [[NSURL alloc] initWithString:string]; 
+0

Vui mừng rằng câu trả lời của tôi giúp đỡ. Bạn có thể giúp mọi người ra ngoài và đánh dấu câu hỏi này như được trả lời không? –

+0

Liệu U có bảo tôi đánh dấu câu hỏi này như được trả lời không? – Vijay

+0

Bạn nhấp vào dấu kiểm màu xám bên cạnh câu trả lời, khiến nút này chuyển sang màu xanh lục. –

Trả lời

26

NSURL sẽ trở lại con số không cho những URL chứa ký tự bất hợp pháp, giống như không gian.

Trước khi sử dụng chuỗi của bạn với [NSURL URLWithString:], hãy đảm bảo thoát khỏi tất cả các ký tự không được phép bằng cách sử dụng [NSString stringByAddingPercentEscapesUsingEncoding:].

Đây là the class reference for NSString.

+0

Cảm ơn Mike Hay Now Vấn đề được giải quyết .. – Vijay

+0

Có không gian. – Nekto

+0

Mã bạn đã hiển thị cho chúng tôi có khoảng trắng. – 0x8badf00d

-1

Xin chào tất cả bây giờ Vấn đề của tôi được giải quyết ở đây tôi đã làm sai sót để lại một khoảng trắng trước "http".

Mã đúng là

NSString *string = [NSString stringWithFormat:@"http://myserver.com/Demo/View.php?drinkId=%@&name=%@&comment=%@&date=%@&rating=%@&ReqestType=SubmitComment",DrinkId,Name,Comment,Date,Rating]; 

NSURL *url   = [[NSURL alloc] initWithString:string];