Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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项目中重用代码_Ios_Swift_Swift Playground - Fatal编程技术网

Ios 在常规Xcode项目中重用代码

Ios 在常规Xcode项目中重用代码,ios,swift,swift-playground,Ios,Swift,Swift Playground,我有一些代码在我的游乐场上创建UICollectionView。代码工作正常,预览效果良好。现在,我正试图将其重新使用到Xcode项目中,我没有收到任何错误,但模拟器上的构建是纯白色的。。什么也看不见 有人能解释一下原因吗?:) 是否转到情节提要,在文档大纲中选择视图控制器,并在Identity Inspector中将类名从UIViewController更改为MyViewController?如果不进行更改,Xcode会假定您希望使用默认的UIViewController,该控制器为空。您是否

我有一些代码在我的游乐场上创建UICollectionView。代码工作正常,预览效果良好。现在,我正试图将其重新使用到Xcode项目中,我没有收到任何错误,但模拟器上的构建是纯白色的。。什么也看不见

有人能解释一下原因吗?:)


是否转到情节提要,在文档大纲中选择视图控制器,并在Identity Inspector中将类名从UIViewController更改为MyViewController?如果不进行更改,Xcode会假定您希望使用默认的UIViewController,该控制器为空。

您是否希望
PlaygroundPage.current.liveView=MyViewController()
在iOS应用程序中工作?如果您使用的是故事板,您应该在故事板中将
MyViewController
设置为VC类。不,我不希望de'PlaygroundPage.current.liveView=MyViewController()'在iOS应用程序中工作。这就是为什么我把//设置为禁用它。。。我还删除了最后一行代码,但仍然没有效果。那么,如何在我的故事板中将MyViewController设置为VC类呢?
import UIKit
//import PlaygroundSupport

class MyViewController : UIViewController {
    var myCollectionView:UICollectionView?
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let view = UIView()
        view.backgroundColor = .white
        
        let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
        layout.sectionInset = UIEdgeInsets(top: 20, left: 10, bottom: 10, right: 10)
        layout.itemSize = CGSize(width: 60, height: 60)
        
        myCollectionView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)

        myCollectionView?.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "MyCell")
        myCollectionView?.backgroundColor = UIColor.white
        
        myCollectionView?.dataSource = self
        myCollectionView?.delegate = self
 
        view.addSubview(myCollectionView ?? UICollectionView())
        
        self.view = view
    }
}

extension MyViewController: UICollectionViewDataSource {
    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 9 // How many cells to display
    }
    
    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let myCell = collectionView.dequeueReusableCell(withReuseIdentifier: "MyCell", for: indexPath)
        myCell.backgroundColor = UIColor.blue
        return myCell
    }
}

extension MyViewController: UICollectionViewDelegate {
 
    func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
       print("User tapped on item \(indexPath.row)")
    }
}

// Present the view controller in the Live View window
//PlaygroundPage.current.liveView = MyViewController()