Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使我的结构变量公开?_Ios_Swift_Struct_Public_Alamofire - Fatal编程技术网

Ios 如何使我的结构变量公开?

Ios 如何使我的结构变量公开?,ios,swift,struct,public,alamofire,Ios,Swift,Struct,Public,Alamofire,我的问题看起来很简单。但我挣扎了一天 我需要将我的结构变量声明为公共变量。以便UICollectionViewController数据方法可以访问Struct变量 我怎么做? 我自己试过了。但我不能做到 class SkillsController: UICollectionViewController { var mcnameArray :[String] = [] var mcidArray :[String] = [] func getSkills(){

我的问题看起来很简单。但我挣扎了一天

我需要将我的结构变量声明为公共变量。以便UICollectionViewController数据方法可以访问Struct变量

我怎么做? 我自己试过了。但我不能做到

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技能:技能?在班级层面