2017-10-20 39 views
0

我刚刚完成我的应用程序,它工作正常,但突然的迫切文件后 - >复制,我有一个消息说的Xcode:中无效的重复声明“视图控制器”

视图控制器的“无效的重复声明'

请帮助我,如果你可以家伙?谢谢

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) 

    } 

} 
+2

问题不在于'ViewController'的实现,而在于你复制了文件,因此它现在找到了两个定义'ViewController'的不同文件。你需要删除其中的一个,或者改变其中的一个来定义一个名称不是“ViewController”的类(例如'SecondViewController'或'DetailsViewController'或其他)。 – Rob

+0

是的!我只是想出了它。感谢你们对我的帮助! –

回答

1

是否按保存点击复制后?该消息已经告诉你一个解决方案。您需要找到名称为ViewController的其他班级。

两个步骤可以帮助:

  1. 搜索ViewController在Xcode的查找导航(搜索)
  2. 浏览您的项目文件夹和搜索重复.swift文件。
+0

嘿格伦!感谢您花时间帮助我。我在那里粘贴了整个代码。我累了找到它,但没有运气 –

+0

现在好了!干杯! –

+0

好听,J.BAT。你可以选择一个答案给你的(这个)问题/线索:)。 – Glenn

1

这个错误意味着你必须与声明的另一个文件:

class ViewController... 

您可能已经改变了文件名,例如ViewControllerTwo.swift但一定要更改类声明了。

+0

现在解决了。感谢拉什旺! –