Swift 结构:模块中没有名为 'Business' 的类型
Swift structs: no type named 'Business' in module
我正在使用 Swift 3 和 Xcode 8.1 构建一个项目。首先,我在框架上使用 Siesta 创建了一个 API 客户端,并将其包含在我的邮件项目中,但是当我尝试使用框架中的结构进行向下转换时,出现错误 No type named 'Business' in module 'ApiClient'
,我试过像 ApiClient.Business
那样使用它,但没有成功...
我的框架与 carthage 注入的另一个依赖项一起在一个工作区中,我可以从它调用另一个实例(比如 API 本身)但我需要访问它才能向下转换结果.我还尝试在 Link Binary With Libraries、Compile Sources、Embed Frameworks[= 下添加框架26=]、嵌入式二进制文件 和Link 框架和库,但无法使其工作...
这是我的代码
//
// BusinessesViewController.swift
//
import UIKit
import ApiClient
import Siesta
class BusinessesViewController: UIViewController, ResourceObserver{
override func viewDidLoad() {
super.viewDidLoad()
globalInstance.MyAPI.businesses.addObserver(self).loadIfNeeded()
}
func resourceChanged(_ resource: Resource, event: ResourceEvent) {
let businesses: Array = resource.typedContent(ifNone: [])
if(businesses.count > 0){
let object : ApiClient.Business = businesses[0] as! ApiClient.Business // <-- error here
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
//
// global.swift
//
import Foundation
import ApiClient
class Global {
var MyAPI :ApiClientService
init() {
MyAPI = ApiClientService(baseURL: "http://test.myproject.com")
}
}
var globalInstance = Global()
//
// Business.swift -- from ApiClient framework
//
import SwiftyJSON
import Foundation
struct Business {
let name, id: String?
let userId: Int?
let description: String?
init(json: JSON) throws {
id = json["id"].string
userId = json["user_id"].int
name = json["name"].string
description = json["description"].string
}
}
这是一个菜鸟错误,只需要将 public
添加到结构中 :)
我正在使用 Swift 3 和 Xcode 8.1 构建一个项目。首先,我在框架上使用 Siesta 创建了一个 API 客户端,并将其包含在我的邮件项目中,但是当我尝试使用框架中的结构进行向下转换时,出现错误 No type named 'Business' in module 'ApiClient'
,我试过像 ApiClient.Business
那样使用它,但没有成功...
我的框架与 carthage 注入的另一个依赖项一起在一个工作区中,我可以从它调用另一个实例(比如 API 本身)但我需要访问它才能向下转换结果.我还尝试在 Link Binary With Libraries、Compile Sources、Embed Frameworks[= 下添加框架26=]、嵌入式二进制文件 和Link 框架和库,但无法使其工作...
这是我的代码
//
// BusinessesViewController.swift
//
import UIKit
import ApiClient
import Siesta
class BusinessesViewController: UIViewController, ResourceObserver{
override func viewDidLoad() {
super.viewDidLoad()
globalInstance.MyAPI.businesses.addObserver(self).loadIfNeeded()
}
func resourceChanged(_ resource: Resource, event: ResourceEvent) {
let businesses: Array = resource.typedContent(ifNone: [])
if(businesses.count > 0){
let object : ApiClient.Business = businesses[0] as! ApiClient.Business // <-- error here
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
//
// global.swift
//
import Foundation
import ApiClient
class Global {
var MyAPI :ApiClientService
init() {
MyAPI = ApiClientService(baseURL: "http://test.myproject.com")
}
}
var globalInstance = Global()
//
// Business.swift -- from ApiClient framework
//
import SwiftyJSON
import Foundation
struct Business {
let name, id: String?
let userId: Int?
let description: String?
init(json: JSON) throws {
id = json["id"].string
userId = json["user_id"].int
name = json["name"].string
description = json["description"].string
}
}
这是一个菜鸟错误,只需要将 public
添加到结构中 :)