2017-05-30 40 views
0
class func shareString(title : String, array: [AnyObject]) -> String { 

     var strValue: String! 

     //strValue = "\(title)" 

     for i in 0...array.count-1 { 

      let share:[String: String?] = array[i] as! [String : String?] 
      strValue = "\n\n \(strValue), \n\n \(share["title"]) \n\n\(share["value"])" 
     } 

     return strValue! 

    } 



//Optional("\n\n Optional(\"\\n\\n nil, \\n\\n Optional(Optional(\\\"\\\\n LayFlat\\\")) \\n\\nOptional(Optional(\\\"252.0\\\"))\"), \n\n Optional(Optional(\"\\n Die Diameter\")) \n\nOptional(Optional(\"25.0\"))"), 

Optional(Optional("\n Output")) 

Optional(Optional("6.42096")) 
+0

你需要使用,如果讓或警衛讓刪除可選 –

+0

如果讓分享:[String:String?] = array [i] as使用! [String:String?] {.....} –

+0

我簡單地使用!和我的問題解決了類func shareString(標題:字符串!,數組:[AnyObject]) - >字符串{stripe { var strValue:String! strValue中= 「\(標題!)」 如果array.count> 0 { 對於i在0 ... array.count-1 { 設份額:[字符串:字符串] =陣列[I]作爲! 「( 」!(股\ [標題] 「![值])」:[字符串字符串] strValue中=共享)「 \ n \ n \(!strValue中)\」 } } 返回strValue中! } –

回答

1

當你下標時它已經返回可選項,你正在設置值爲String?的字典意味着你得到兩次可選的指定AnyObject數組使其成爲[[String:String]]的數組,因此不需要再次將它轉換爲字母。還用空字符串初始化了strValue

var strValue = "" 
if let dicArray = array as? [[String:String]] { 
    for dic in dicArray { 
     if let title = dic["title"], let value = dic["value"] { 
      strValue += "\n\n \(title) \n\n\(value)" 
     } 
    } 
} 
1
  1. 使用可選鏈接像波紋管

    strValue中=「\ n \ n(strValue中?? 「」),\ n \ n (股[ 「標題」] - 「」) \ n \ n(股[ 「值」] - 「」)」

  2. 使用力展開變量,如果它有值

    strValue中= 「\ n \ n(strValue中!),\ n \ n(股[」 標題 「]!) \ n \ n(股[」 值 「]!)」

+0

'strValue!'由於OP沒有初始化strValue –

1
for i in 0...array.count-1 { 

    let share:[String: String?] = array[i] as! [String : String?] 

    if let title = share["title"], let value = share["value"]{ 
     print("title: \(title) , Value: \(value)") 
     //output: title: 252.0 , Value: Die Diameter 
    } 
} 
+0

'title','value'仍然是'optionals',因爲字典的類型是'[String:String?]'意味着value是可選的你需要包裝可選的兩次 –

+0

你應該使用正確的swift模式,所以例如用於數組{ ......如果let elem as? [字符串:字符串?] {.. – ingconti

相關問題