2010-04-21 28 views
6

một vấn đề khác mà tôi dường như đã tìm thấy giải pháp cho ObjC nhưng không tìm thấy MonoTouch.Chuỗi URL hợp lệ khi NSUrl trở thành null

Tôi muốn một NSUrl từ một URL (dưới dạng chuỗi).

Chuỗi có thể chứa khoảng trắng và dấu gạch chéo ngược.

Tại sao NSUrl trả về null cho chuỗi như vậy, mặc dù đây là các url hợp lệ trong trình duyệt?

Ví dụ: NSUrl foo = NSUrl.FromString (@ "http://google.com/search? \ Truy vấn");

foo == null

Mọi đề xuất?

+0

Bạn có thể đăng thêm mã không? Những gì bạn có ở trên trông hoàn toàn tốt đẹp. – SomaMan

+0

@Mike - nếu bạn có câu trả lời đúng, hãy chấp nhận nó. –

Trả lời

1

Bạn có thể cần phải xử lý chuỗi đầu tiên với

stringByAddingPercentEscapesUsingEncoding: 

... để nó có thể được xử lý một URL hợp lệ.

13

[URL NSNVòng: [googlSearchString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];

Được tham chiếu bởi
Stack Overflow....

0

URLWithString: Tạo và trả về một đối tượng NSURL khởi tạo với một chuỗi cung cấp.

  • (id) URLWithString: (NSString *) URLString thông số URLString Chuỗi nào đó để khởi tạo đối tượng NSURL. Phải là URL phù hợp với RFC 2396. Phương pháp này phân tích URLString theo RFC 1738 và 1808. (Để tạo đối tượng NSURL cho đường dẫn hệ thống tệp, hãy sử dụng tệpURLWithPath: isDirectory: thay thế.) Giá trị trả lại Đối tượng NSURL được khởi tạo bằng URLString. Nếu chuỗi không đúng định dạng, trả về nil.
0

NSString * urlString = @"http://example/newcase/path/fileNames"; urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSISOLatin1StringEncoding]; NSURL * url = [NSURL URLWithString:urlString]; NSLog(@"URL: %@", url);

Các vấn đề liên quan