Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode:“ViewController”的重新声明无效_Ios_Swift_Xcode_Uiviewcontroller_Redeclaration - Fatal编程技术网

Ios Xcode:“ViewController”的重新声明无效

Ios Xcode:“ViewController”的重新声明无效,ios,swift,xcode,uiviewcontroller,redeclaration,Ios,Swift,Xcode,Uiviewcontroller,Redeclaration,我刚刚完成了我的应用程序,它工作正常,但在按下File->duplicate后,我突然收到一条消息说 “ViewController”的重新声明无效 如果可以的话,请帮帮我,伙计们?多谢各位 import UIKit class ViewController: UIViewController, UIScrollViewDelegate { @IBOutlet var slideScrollView: UIScrollView! @IBOutlet var pageCont

我刚刚完成了我的应用程序,它工作正常,但在按下File->duplicate后,我突然收到一条消息说

“ViewController”的重新声明无效

如果可以的话,请帮帮我,伙计们?多谢各位

import UIKit

class ViewController: UIViewController, UIScrollViewDelegate {

    @IBOutlet var slideScrollView: UIScrollView!

    @IBOutlet var pageControl: UIPageControl!

    override func viewDidLoad() {

        slideScrollView.delegate = self
        let slides:[Slide] = createSlides()
        setupSlideScrollView(slides: slides)
        pageControl.numberOfPages = slides.count
        pageControl.currentPage = 0
        view.bringSubview(toFront: pageControl)
    }

    func createSlides () -> [Slide] {
        let slide1: Slide = Bundle.main.loadNibNamed("Slide", owner:self, options:nil)?.first as!Slide

        slide1.label.text = "Slide1"

        let slide2: Slide = Bundle.main.loadNibNamed("Slide", owner:self, options:nil)?.first as!Slide

        slide2.label.text = "Slide2"
        return [slide1, slide2]
    }

    func setupSlideScrollView (slides:[Slide]) {

        slideScrollView.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height)
        slideScrollView.contentSize = CGSize(width: view.frame.width * CGFloat(slides.count), height: view.frame.height)
        slideScrollView.isPagingEnabled = true


        for i in 0 ..< slides.count {

            slides[i].frame = CGRect(x: view.frame.width * CGFloat(i), y: 0, width: view.frame.width, height: view.frame.height)
            slideScrollView.addSubview(slides[i])
        }
    }

    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        let pageIndex = round(scrollView.contentOffset.x/view.frame.width)
        pageControl.currentPage = Int(pageIndex)

    }

}
单击复制后是否按了保存?消息已经在告诉您一个解决方案。您需要找到另一个名为ViewController的类

两个步骤可能会有所帮助:

在Xcode的“查找导航器”搜索中搜索ViewController 浏览项目文件夹并搜索重复的.swift文件。
此错误表示您有另一个文件声明为:

class ViewController...

您可能已经更改了文件名,例如ViewControllerTwo.swift,但请确保也更改了类声明。

Hey Glenn!谢谢你抽出时间来帮助我。我把整个代码都贴在那里了。我很想找到它,但是没有运气听到它,J.巴特。您可以选择此问题/线程的答案:。问题不是ViewController的实现,而是您复制了该文件,因此它现在找到了定义ViewController的两个不同文件。您需要删除其中一个,或更改其中一个,以定义一个名称不是ViewController的类,例如SecondViewController或DetailsViewController或其他任何名称。是!我刚想出来。谢谢你帮助我!重新声明和重新编译都可能导致此问题。请参阅并立即解决它。谢谢Rashwan!我们需要更改ViewController中的类名。