如何将值从一个Viewcontroller传递到另一个结构Swift

时间:2019-02-04 12:17:48

标签: swift

我正在TableView中进行分页,为此,我需要将值从一个ViewController传递给另一个结构

我正在表视图中创建类别列表,因此我需要将每个类别的ID传递给struct,以便正确完成分页。

我在ViewController中获得了该类别的ID,并且我需要传递该ID。

对于使用PagingDataController CocoaPods进行分页,以前我能够直接(手动)为此CocoaPod传递ID,但是现在,我正在动态传递ID。

override func viewDidLoad() {
super.viewDidLoad()
var ida = id } 
}



struct Category: PagingProviderProtocol {
func loadData(parameters: AnyObject?, page: Int, completion: 
@escaping ([Dictionary<String, AnyObject>], Error?) -> Void) {
    var id = Cat_Id
    var cat1 = "category_id="
    var cat2 = cat1+id
     var cx = "https://stagecmsbmncapi.projectpresent.biz/client/article/" + cat2 + "&page=\(page+1)&per_page=\(pageSize)"

    Alamofire.request(cx, method: .get).responseJSON { (response) in
        var error: Error? = response.result.error
        var result: [[String: AnyObject]] = []
        print(response.result.value)
        defer {
            completion(result, error)
        }

        guard let data = (response.result.value as? [String: AnyObject]) else {
            return

        }
        result = data["result"] as! [[String: AnyObject]]
    }

此var ida = id,我从以前的TableView中获得了select方法。我需要将这个id传递给struct里面的这个loadData()到var id

这是错误消息“嵌套类型“ CatContentsVC.Category”的实例不能使用类型为“ CatContentsVC”的实例成员“ ida””

CatContentsVC是具有TableView的ViewController,类别是如下定义的结构

这是我收到的错误消息,“不能在嵌套类型ViewController的实例上使用ViewController类型的实例成员”

1 个答案:

答案 0 :(得分:1)

here所述,您需要将其添加到代码中以使其正常工作:

otherVC.referanceToOtherViewController = self