Ios 如何使我的结构变量公开?
我的问题看起来很简单。但我挣扎了一天 我需要将我的结构变量声明为公共变量。以便UICollectionViewController数据方法可以访问Struct变量 我怎么做? 我自己试过了。但我不能做到Ios 如何使我的结构变量公开?,ios,swift,struct,public,alamofire,Ios,Swift,Struct,Public,Alamofire,我的问题看起来很简单。但我挣扎了一天 我需要将我的结构变量声明为公共变量。以便UICollectionViewController数据方法可以访问Struct变量 我怎么做? 我自己试过了。但我不能做到 class SkillsController: UICollectionViewController { var mcnameArray :[String] = [] var mcidArray :[String] = [] func getSkills(){
class SkillsController: UICollectionViewController {
var mcnameArray :[String] = []
var mcidArray :[String] = []
func getSkills(){
Alamofire.request(.GET, "http://www.wols.com/index.php/capp/main_category_list")
.responseJSON { (_, _, data, _) in
let json = JSON(data!)
let Count = json.count
for index in 0...Count-1 {
var ds = json[index]["DISPLAY_STATUS"].string
if ds == "Y" {
var mcname = json[index]["MAIN_CATEGORY_NAME"].string
self.mcnameArray.append(mcname!)
var mcid = json[index]["MAIN_CATEGORY_ID"].string
self.mcidArray.append(mcid!)
}
}
var skill = Skills(mcname: self.mcnameArray, mcid: self.mcidArray)
println(skill.mcname.count)
}
}
override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
//#warning Incomplete method implementation -- Return the number of items in the section
return skill.mcname.count// Throws an Error
}
您的变量不是“private”,而是在定义它的函数的局部范围内
如果将其移动到var mcnameArray
和var mcidArray
旁边,则也可以从其他函数访问它
但是,由于您正在发出异步网络请求,因此需要更改变量。您可能希望将其设置为可选(var-skill:skill?
),以便在开始时将其设置为nil
,然后再进行更改。您的变量不是“private”,而是在定义它的函数的局部范围内
如果将其移动到var mcnameArray
和var mcidArray
旁边,则也可以从其他函数访问它
但是,由于您正在发出异步网络请求,因此需要更改变量。您可能希望将其设置为可选(
var-skill:skill?
),以便在开始时将其设置为nil
,然后再进行更改。定义var-skill:Skills?在课堂上定义var技能:技能?在班级层面