2015-01-21 22 views
-1
另一個FUNC

我已經定義在listArray一個struct調用結構定義的陣列,以在夫特

struct posts { 
       var listArray = Dictionary<String, Any>() 
} 

var categoryId: String? 

:「字符串」將類別ID的值,和「任何」將其獲取其詳細的其它陣列從一個JSON的URL

func data(){ 
    let dataCaching = [posts().listArray[categoryId!]] // here iam getting an error "Missing Argument For parameter 'listArray' in call, what is the right code here? 
    if dataCaching == nil { 
     <-here some code to url session and jeson url-> 
    }else{ 
     println("Data is already cashed") 
} 
    posts.listArray[categoryId] = json["details"] // what is the right code here too? 

} 

我想知道如何調用我的listArray從它的結構到另一個函數,以及代碼將如何?

如果任何事情不decleared,請你可以問我, 感謝

+1

請你正在努力實現的目標更加清晰。你的問題文本提到了結構體,json,http抓取,緩存和數組,我無法弄清楚哪些是你感到困惑的。請只挑一個。 – 2015-01-21 03:35:49

+0

我也建議你閱讀swift的文檔,直到你理解爲什麼Cache不能爲零。 – 2015-01-21 03:37:47

+0

我只想知道什麼是正確的代碼來調用我的數組從結構到Func,這裏是我的問題 – Swifter 2015-01-21 03:38:58

回答

1

既然你聲明的categoryId作爲可選,你需要強制使用感嘆號解開它。

func data() { 
    let Cache = [posts().listArray[categoryId!]] 
    //rest of the code 
} 

//EDIT: 
struct posts { 
    var listArray = Dictionary<String,Any>() 
    init() { 
     //Initalise the dictionary object here 
    } 
} 

希望這有助於

+0

感謝您的回覆,但我收到一個錯誤「爲參數'listArray'在調用中缺少參數,爲什麼? – Swifter 2015-01-21 03:45:48

+0

默認的struct構造函數爲結構中的每個屬性提供一個參數。要麼提供它,要麼建立一個新的構造函數。 – 2015-01-21 04:12:23