سؤال

ولقد البرمجية التالية في طلبي.

NSData *data=[NSData dataWithContentsOfURL:[NSURL URLWithString:pathOfThumbNail]];

وpathOfThumbNail ديه التالية مسار


http://70.84.58.40/projects/igolf/TipThumb/GOLF 58B .jpg و


وعندما أفتح فوق المسار في متصفح سفاري - يتم تغيير مسار تلقائيا ويتم عرض الصورة بنجاح

http://70.84.58.40/projects/igolf/TipThumb/GOLF٪ 2058B.jpg


ولكن في اي فون، نظرا لمساحة في المسار، لم يتم تحميل الصورة في nsdata.

هل كانت مفيدة؟

المحلول

استخدم: stringByAddingPercentEscapesUsingEncoding:

وإرجاع تمثيل المتلقي باستخدام ترميز معين لتحديد النسبة المئوية يهرب من الضروري تحويل المتلقي في سلسلة URL القانونية.

-(NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding

وتمثيل من المتلقي باستخدام ترميز لتحديد النسبة المئوية يهرب من الضروري تحويل المتلقي في سلسلة URL القانونية. عوائد النيل إذا الترميز لا يمكن ترميز حرف معين

وأضاف في طلبrule

NSString* urlText = @"70.84.58.40/projects/igolf/TipThumb/GOLF 58B.jpg";
NSString* urlTextEscaped = [urlText stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString: urlTextEscaped];
NSLog(@"urlText:        '%@'", urlText);
NSLog(@"urlTextEscaped: '%@'", urlTextEscaped);
NSLog(@"url:            '%@'", url);

وNSLog الإخراج:

urlText:        '70.84.58.40/projects/igolf/TipThumb/GOLF 58B.jpg'  
urlTextEscaped: '70.84.58.40/projects/igolf/TipThumb/GOLF%2058B.jpg'  
url:            '70.84.58.40/projects/igolf/TipThumb/GOLF%2058B.jpg'  

نصائح أخرى

ونهج 3.0 سريع (stringByAddingPercentEscapesUsingEncoding وstringByAddingPercentEncodingWithAllowedCharacters يبدو الآن مهملة):

let urlString ="your/url/".addingPercentEncoding( withAllowedCharacters: .urlQueryAllowed)

تم إهمال stringByAddingPercentEscapesUsingEncoding في دائرة الرقابة الداخلية 9.0، فمن المستحسن استخدام stringByAddingPercentEncodingWithAllowedCharacters بدلا من ذلك.

وهنا رمز الهدف-C ل> دائرة الرقابة الداخلية 9.0

NSString* urlText = @"70.84.58.40/projects/igolf/TipThumb/GOLF 58B.jpg";
NSString* urlTextEscaped = [urlText stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSURL *url = [NSURL URLWithString: urlTextEscaped];
enter code here

NSLog(@"urlText:        '%@'", urlText);
NSLog(@"urlTextEscaped: '%@'", urlTextEscaped);
NSLog(@"url:            '%@'", url);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top