[英]Xcode won't recognize a new Swift class
我在一个新文件中创建了一个新的 Swift 类
import Foundation
class RecordedAudio: NSObject{
var filePathUrl: NSURL!
var title: String!
}
现在我想通过创建一个新对象在另一个类中使用它。
import UIKit
import AVFoundation
class recordSoundsViewController: UIViewController, AVAudioRecorderDelegate {
var audioRecorder: AVAudioRecorder!
var recordedAudio: RecordedAudio! // new object gives error
但是 Xcode 给了我错误“使用未声明的类型 RecordedAudio”,所以我被困在那里。 此处发布了一个类似的问题: 如何从另一个 Swift 文件导入 Swift 文件? 但这些解决方案都不适合我。 顺便说一句,这是 Udacity swift 课程的一部分。 谢谢,任何帮助将不胜感激。
在左侧的 Project Navigator 中,选择您声明 RecordedAudio 的文件。
现在,在右侧的文件检查器中,查看 Target Membership。 应该检查应用程序目标(不是测试目标),类似于:
如果没有,请检查它! 现在一切都会好起来的。
在我的情况下,我必须从项目导航器中删除引用,然后再次添加它们(目标成员身份不是问题)。
我只需要做完整的蒙蒂才能让它工作......
也可以将@objc 添加到您的类定义上方的行中,并可能将其设为public class
,以便明确并且可能也将public
添加到您的方法中。 哦,确保你是NSObject
的子类。
如果你在让你的初始化程序出现时遇到困难,我也刚刚注意到 Swift 4.2 在这里有很多问题。 我切换回 Swift 3。没问题...
如果您的类在另一个模块中,请确保您的类和类初始化器具有公共访问修饰符。
对我来说,我必须检查类中与 ViewController 中相同的目标成员资格(我有一个 TodayExtension)
尝试了所有权切换、清理、重新启动 x 代码、删除并重新添加引用但没有结果。
一个pod install
为我修复了它,很奇怪,因为我的类不是来自另一个模块或库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.