簡體   English   中英

如何在swift中使用類中的屬性到另一個類

[英]how to use a property from a class to another class in swift

我有這樣的模型類

import Foundation
import SwiftyJSON

class SpecificCategoryJSON {

var _product_id: Int?
var _product_title: String?
var _product_sku: String?
var _product_image: URL?

init(items: JSON){

    self._product_id = items["product_id"].int
    self._product_title = items["product_title"].stringValue
    self._product_sku = items["product_sku"].stringValue
    let post_imgAA = items["product_image"].arrayValue
    for itemsIMG in post_imgAA {
        self._product_image = itemsIMG["guid"].URL
    }

}
var product_id: Int {
    if _product_id == nil {
        _product_id = 0
    }
    return _product_id!
}

var product_title: String {
    if _product_title == nil {
        _product_title = ""
    }
    return _product_title!
}

var product_sku: String {
    if _product_sku == nil {
        _product_sku = ""
    }
    return _product_sku!
}

var product_image: URL {
    if _product_image == nil {
        let myURL = "http://www.clker.com/cliparts/d/L/P/X/z/i/no-image-icon-hi.png"
        let noImage: URL = URL(string: myURL)!
        _product_image = noImage
    }
    return _product_image!
   }

  }

我想使用product_id作為參數發送,以使用Alamofire發出POST請求。 這是POST請求,我將product_id保持為靜態。

    class ProductDetailsManager {

    //........
    func printPublicGists() -> Void {

    let url: String = "http://xxx/get_product_informations/"
    let parameter = ["product_id": 33]

    Alamofire.request(url, method: .post, parameters: parameter, encoding: URLEncoding.default, headers: nil)
     .responseJSON { (response) in

        guard response.result.error == nil else {
           print(response.result.error!)
           return
        }

        guard let value = response.result.value else {
            print("no product to show")
            return
        }

        print(value)

    }

   }
//.......
}

我想從類SpecificCategoryJSON獲取product_id並在類ProductDetailsManager中使用它來進行調用。 我該怎么辦, 繼承 覆蓋 UserDefaults.standard.set 請幫忙 。

也許我誤解了這個問題,但你應該實例化你的SpecificCategoryJSON類並訪問它的屬性:

func printPublicGists() -> Void {
    let url: String = "http://xxx/get_product_informations/"    
    let cat = SpecificCategoryJSON(items: someJSON)

    let parameter = ["product_id": cat.product_id]

    // ....
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM