مشکل لود کردن آدرس فارسی در وب ویو (حل شد)
سلام خسته نباشید
من یه لیستی از Rss ها رو میگیرم که بعضی از خبرگزاری ها لیست خبر رو فارسی میذارن متاسفانه ، مثل این
http://www.tabnak.ir/fa/news/666164/حمایت-ضمنی-ترامپ-از-تمامیت-ارضی-اوکراین
حالا مشکل اینجاست که موقع لود برنامه کرش میکنه و ارور : fatal error: unexpectedly found nil while unwrapping an Optional value
رو میده
برنامه با آدرس های انگلیسی درست کار میکنه - توی stack زیاد گشتم ولی چیزی پیدا نکردم
از دوستان ممنون میشم راهنمایی کنین
let url = NSURL (string: RssUrl)
let requestObj = NSURLRequest(URL: url!);
webView.loadRequest(requestObj)

حل این مشکل رو توی سایتی پیدا نکردم و اینو با آزمون خطا خودم نوشتم
آدرس سایت رو میدین بهش و خروجی یه رشته encod شده میده که توی WebView به مشکل نخورین.
شرح کد :
اول url رو بر اساس اسلش Split می کنه و لیستی از رشته های رو میده
توی حلقه آخرین آیتم رو تبدیل به UTF_8 میکنه و توی آیتم اول که http هست دو تا // میذاره و در بقیه حالت ها یه / میذاره و در آخر رشته رو برمیگردونه.
func encodeUrl(url:String)->String{
var ReturnValue:String = ""
let urlSlice = url.componentsSeparatedByString("/")
var numIndex:Int = 0
for item in urlSlice {
numIndex++
if numIndex == (urlSlice.count) {
ReturnValue+=item.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
}else if numIndex == 1{
ReturnValue+=item+"//"
}else{
ReturnValue+=item+"/"
}
}
return ReturnValue
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .