【问题标题】:objective-c protocol adopted in swiftswift中采用的objective-c协议
【发布时间】:2016-07-06 22:35:43
【问题描述】:

这是放置在我使用的框架中的目标 c 协议

@protocol AWSDKDelegate <NSObject>

/*
 * @abstract    AWSDKDelegate initialization lifecycle notifications to inform your app of success or failure
 in SDK initialization and profile retrieval.
 */
- (void)initialCheckDoneWithError:(NSError*) error;
- (void)receivedProfiles:(NSArray*)profiles;

/*
 * @abstract    AWSDKDelegate Action Notifications used to inform your app to take various action
 * @discussion  stopNetworkActivity and resumeNetworkActivity are not supported on iOS 9
 */
- (void)wipe;
- (void)lock;
- (void)unlock;
- (void)stopNetworkActivity;
- (void)resumeNetworkActivity;
@end

创建桥头后,我尝试在我用 Swift 编写的应用中采用它

//MARK: AWSDKDelegate Methods

    func initialCheckDoneWithError(error: NSError!) {}
    func receivedProfiles(profiles: NSArray!) {}
    func unlock() {}
    func wipe() {}
    func stopNetworkActivity() {}
    func resumeNetworkActivity() {}

但仍然出现此错误:

Type 'AppDelegate' does not conform to protocol 'AWSDKDelegate'

【问题讨论】:

    标签: ios delegates appdelegate


    【解决方案1】:

    1) 忘记实现lock方法 2) 我不知道为什么,但事实证明使用NSArray 的适当方式是[AnyObject]。所以 func receivedProfiles(profiles: [AnyObject]!) 而不是 func receivedProfiles(profiles: NSArray!)

    无论如何,我想知道为什么 XCode 没有对这些类型的错误进行更详细的描述..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 2015-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-01
      相关资源
      最近更新 更多