2016-09-07 54 views
5

Làm cách nào để thay thế chuỗi trong NSURL? Tôi đã thử stringByReplacingOccurrencesOfString nhưng nó hoạt động với NSString.thay thế trong NSURL

NSURL *imageURL = [NSURL URLWithString:dataList[indexPath.item][@"image"]]; 
NSData *imageData = [NSData dataWithContentsOfURL:imageURL]; 
UIImage *image = [UIImage imageWithData:imageData]; 

Tôi muốn thay thế url hình ảnh

http://example.com/image1.jpg 

để

http://example.com/img1.jpg 

Trả lời

3

NSURL có một phương pháp absoluteString mà bạn có thể sử dụng như vậy

NSURL *imageURL = [NSURL URLWithString:dataList[indexPath.item][@"image"]]; 

NSString *urlString = [imageURL.absoluteString stringByReplacingOccurrencesOfString:@"image" withString:@"img"]; 

imageURL = [NSURL URLWithString:urlString]; 

Bạn có thể al để trực tiếp hoạt động trên NSString từ DataList cũng như:

NSString *urlString = [dataList[indexPath.item][@"image"] stringByReplacingOccurrencesOfString:@"image" withString:@"img"]; 

imageURL = [NSURL URLWithString:urlString]; 
+0

cảm ơn. đó là công việc – OsamahM

+0

bạn được chào đón. vui lòng chấp nhận câu trả lời nếu nó giúp bạn :) – akdsouza

2
NSURL *imageURL = [NSURL URLWithString:dataList[indexPath.item][@"image"]]; 
NSString *urlString = [imageURL.absoluteString stringByReplacingOccurrencesOfString:@"image" withString:@"img"]; 
NSString *webStringURL = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
imageURL = [NSURL URLWithString:webStringURL]; 

Hope này sẽ giúp bạn.

1

Bạn sẽ thay thế các thành phần đường dẫn cuối cùng của URL để sử dụng API chuyên dụng của NSURL:

NSURL *imageURL = [NSURL URLWithString:dataList[indexPath.item][@"image"]]; 
NSURL *newURL = [[imageURL URLByDeletingLastPathComponent] URLByAppendingPathComponent:@"img.jpg"]; 
NSData *imageData = [NSData dataWithContentsOfURL: newURL]; 

stringByReplacingOccurrencesOfString có thể gây ra hành vi bất ngờ.

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