XCode 9中的iCarousel错误

时间:2018-07-05 08:03:54

标签: swift xcode icarousel

我尝试按照本教程实施iCarousel:https://medium.com/@arb1nsnmgl/icarousel-walkthrough-swift-3-0-887554155242 但是当尝试实现@protocol时,它会给我4条错误消息:

  1. 协议类型中预期为'{'
  2. 期望一个属性名称
  3. 协议'iCarouselDataSource'不能嵌套在另一个声明中
  4. 协议不允许通用参数;改用关联的类型

当前代码如下:

import UIKit
class ViewController: UIViewController {

@IBOutlet var carouselView: iCarousel!
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    //Testing
    @protocol iCarouselDataSource <NSObject>
    -(NSInteger)numberOfItemsInCarousel:(iCarousel *)carousel;
    -(UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSInteger)index reusingView:(nullable UIView *)view;

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
}

1 个答案:

答案 0 :(得分:1)

您将其添加到错误的位置,请删除

@protocol iCarouselDataSource <NSObject>
-(NSInteger)numberOfItemsInCarousel:(iCarousel *)carousel;
-(UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSInteger)index reusingView:(nullable UIView *)view;

通过viewDidLoad方法。

以上方法都是委托方法。并且您需要按照教程中所示添加它。

为此检查11点。

还要确认代表,如第8点所示。