2015-12-01 14 views
16

Tôi là một nhà phát triển cơ sở, và tôi đã nhận một mã số cho việc này:stringByAddingPercentEscapesUsingEncoding không được chấp nhận trong 9.0. Làm thế nào để thực hiện việc này?

(NSString *)encodedStringFromObject:(id)object { 
    return [[object description] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  
} 

Nhưng trong 9.0 phải sử dụng stringByAddingPercentEncodingWithAllowedCharacters.

Tôi làm cách nào để chuyển mã này? Tôi cần trợ giúp, Cảm ơn!

+0

trong iOS9 stringByAddingPercentEscapesUsingEncoding đã được thay thế bằng stringByAddingPercentEncodingWithAllowedCharacters: –

Trả lời

52

Nếu bạn muốn chỉ là ví dụ nhanh chóng nhìn vào mã này:

NSString * encodedString = [@"string to encode" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]]; 

Ngoài ra kiểm tra List of predefined characters sets

Nếu bạn muốn giải thích đọc các tài liệu hoặc ít nhất là chủ đề này: How to encode a URL in Swift

+0

có, tôi sử dụng mẫu của bạn chuyển mã của tôi sang. trả về [[mô tả đối tượng] stringByAddingPercentEncodingWithAllowedCharacters: [NSCharacterSet URLFragmentAllowedCharacterSet]]; so với hoạt động, cảm ơn bạn rất nhiều! –

+0

@JustLai nếu bạn thích câu trả lời của tôi đánh dấu nó là chấp nhận xin vui lòng. – sage444

+0

un ... làm thế nào để đánh dấu nó .. đây là lần đầu tiên tôi sử dụng ngăn xếp tràn, nhấp vào nút chấp nhận? –

2

Bạn đã đọc thông số kỹ thuật cho cả hai chức năng. Sau đó, bạn sẽ tìm ra cho các nhân vật mục đích được thay thế bằng các chuỗi thoát. Từ đó bạn sẽ tìm ra tập hợp các ký tự được cho phép, mà phải được ghi lại ở đâu đó.

Đó là một phần thiết yếu của việc thay đổi từ sơ cấp đến bình thường thành nhà phát triển cao cấp: Tìm hiểu chính xác mã của bạn phải làm gì, nên được xác định ở đâu đó, và sau đó làm cho nó làm những gì cần làm.

stringByAddingPercentEscapesSử dụngCó thể mã hóa vì không biết ký tự nào được phép và đôi khi cho kết quả sai.

3
URL = [[NSString stringWithFormat:@"%@XYZ",API_PATH]stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; 
Các vấn đề liên quan