簡體   English   中英

Xcode 無法識別新的 Swift 類

[英]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。 應該檢查應用程序目標(不是測試目標),類似於:

在此處輸入圖像描述

如果沒有,請檢查它! 現在一切都會好起來的。

在我的情況下,我必須從項目導航器中刪除引用,然后再次添加它們(目標成員身份不是問題)。

我只需要做完整的蒙蒂才能讓它工作......

  1. 注釋掉引用行
  2. 修復其他錯誤以確保構建
  3. Cmd+Shift+K(清理構建文件夾)
  4. 不...讓我們刪除構建文件夾:/Users/[YOU]/Library/Developer/Xcode/DerivedData/project-name-ADM2KD...
  5. 重啟 Xcode
  6. 建造
  7. 取消注釋我們的參考線

也可以將@objc 添加到您的類定義上方的行中,並可能將其設為public class ,以便明確並且可能也將public添加到您的方法中。 哦,確保你是NSObject的子類。

如果你在讓你的初始化程序出現時遇到困難,我也剛剛注意到 Swift 4.2 在這里有很多問題。 我切換回 Swift 3。沒問題...

如果您的類在另一個模塊中,請確保您的類和類初始化器具有公共訪問修飾符。

對我來說,我必須檢查類中與 ViewController 中相同的目標成員資格(我有一個 TodayExtension)

嘗試了所有權切換、清理、重新啟動 x 代碼、刪除並重新添加引用但沒有結果。

一個pod install為我修復了它,很奇怪,因為我的類不是來自另一個模塊或庫。

暫無
暫無

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

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