使用相同的开头

时间:2016-07-01 13:40:17

标签: ios arrays swift string hyperlink

我有一个NSObject和数组,其中包含有关名人的不同信息。它包括一个维基百科链接,该链接存储在每个名人的字符串中。我有一个按钮,可以打开链接并将用户引导到特定名人的维基百科页面,但并非所有名人都有维基百科页面,在这种情况下我想在按下按钮时显示UIAlertController代替。

我写了一个成功显示UIAlertController的if语句,但是如何打开附加到该人的特定网址链接?

我提出了两个解决这个问题的想法(但我无法让它们发挥作用):

1.所有现有的链接都有相同的开头,#34; https://www.wikipedia.org/wiki/"和没有名字的名人只会有一个空字符串。有没有办法打开链接,如果字符串包含/识别维基百科链接的开头,只显示警告,如果字符串是空的(=根本没有维基百科链接)?

@IBAction func ReadMoreTapped(sender: AnyObject) {

     //The celebrity's wikipedia link is stored in the "WikiSegue"
     if WikiSegue == "https://www.wikipedia.org/wiki/..." {

    UIApplication.sharedApplication().openURL(NSURL(string : WikiSegue)!)

} else {

  //Show "missing wikipedia page" alert

    }

} //End of ReadMoreTapped button

2.如果字符串中没有维基百科链接(它是空的),是否可以调用警报?用这样的东西?

 @IBAction func ReadMoreTapped(sender: AnyObject) {

     //The wikipedia link is stored in the "WikiSegue"
     if WikiSegue.isEmpty == true  {

   //Show "missing wikipedia page" alert

} else {

 UIApplication.sharedApplication().openURL(NSURL(string : WikiSegue)!)

    }

} //End of ReadMoreTapped button

我不相信这可能是一个如此难以解决的问题,但我刚开始编码所以所有的帮助/想法都会非常感激。

1 个答案:

答案 0 :(得分:1)

我假设您的数组包含相同类型的对象。对象包含一个包含url的字符串字段。首先,您应检查该字段是否包含字符串(可能与string.characters.count> 0),而不是尝试使用该字符串创建NSURL,如下所示。

if let wikiURL = NSURL(string: "URL STRING") {
    UIApplication.sharedApplication().openURL(wikiURL)
} else {
    // Show alert
}