Xcode不会认识到一个新的Swift课程

时间:2015-05-09 23:51:47

标签: ios swift

我在新文件中创建了一个新的Swift类

import UIKit
import AVFoundation

class recordSoundsViewController: UIViewController, AVAudioRecorderDelegate {
    var audioRecorder: AVAudioRecorder!
    var recordedAudio: RecordedAudio! // new object gives error

现在我想通过创建一个新对象在另一个类中使用它。

{{1}}

但是Xcode给了我错误"使用未声明的类型RecordedAudio"所以我卡在那里此处发布了类似的问题:How do I import a Swift file from another Swift file? 但这些解决方案都不适合我。顺便说一下,这是Udacity swift课程的一部分。谢谢,任何帮助将不胜感激。

6 个答案:

答案 0 :(得分:45)

在左侧的Project Navigator中,选择您声明RecordedAudio的文件。

现在,在右侧的文件检查器中,查看目标成员资格。应该检查应用目标(不是测试目标),类似于:

enter image description here

如果没有,请检查一下!现在一切都会好的。

答案 1 :(得分:2)

在我的情况下,我不得不从项目导航器中删除引用,然后再次添加它们(目标成员资格不是问题)。

答案 2 :(得分:2)

如果您的班级在另一个模块中,请确保您的班级和类初始化程序具有 public 访问修饰符。

答案 3 :(得分:0)

对我来说,我必须检查类中的目标成员身份,就像在ViewController中一样(我有一个TodayExtension)

答案 4 :(得分:0)

我只需要做满蒙蒂就可以正常工作...

  1. 注释参考行
  2. 修复其他错误以确保构建
  3. Cmd + Shft + K(清洁生成文件夹)
  4. 不是。让我们删除构建文件夹:/ Users / [YOU] / Library / Developer / Xcode / DerivedData / project-name-ADM2KD ...
  5. 重新启动Xcode
  6. 构建
  7. 取消注释参考行

也可以在类定义上方的行中添加@objc,并使其public class更加明确,还可以将public添加到您的方法中。哦,请确保您是NSObject的子类。

如果您不愿意让您的初始化程序出现,我也刚刚注意到Swift 4.2在这里还有很多问题。我切换回Swift3。没问题...

答案 5 :(得分:0)

尝试切换所有权、清理、重新启动 x-code、删除并重新添加引用但没有结果。

pod install 为我修复了它,很奇怪,因为我的类不是来自另一个模块或库。