【发布时间】:2015-03-10 10:34:07
【问题描述】:
我在尝试创建 Message 类时收到此错误消息。
'Message' does not conform to protocol 'JSQMessageData'
JSQMessageData 来自https://github.com/jessesquires/JSQMessagesViewController
我的代码
import Foundation
class Message : NSObject, JSQMessageData {
var senderId_ : String!
var senderDisplayName_ : String!
var date_ : NSDate
var isMediaMessage_ : Bool
var hash_ : Int = 0
var text_ : String
init(senderId: String, senderDisplayName: String?, isMediaMessage: Bool, hash: Int, text: String) {
self.senderId_ = senderId
self.senderDisplayName_ = senderDisplayName
self.date_ = NSDate()
self.isMediaMessage_ = isMediaMessage
self.hash_ = hash
self.text_ = text
}
func senderId() -> String! {
return senderId_;
}
func senderDisplayName() -> String! {
return senderDisplayName_;
}
func date() -> NSDate! {
return date_;
}
func isMediaMessage() -> Bool! {
return isMediaMessage_;
}
func hash() -> Int? {
return hash_;
}
func text() -> String! {
return text_;
}
}
JSQMessageData.h
#import <Foundation/Foundation.h>
#import "JSQMessageMediaData.h"
@protocol JSQMessageData <NSObject>
@required
- (NSString *)senderId;
- (NSString *)senderDisplayName;
- (NSDate *)date;
- (BOOL)isMediaMessage;
- (NSUInteger)hash;
@optional
- (NSString *)text;
- (id<JSQMessageMediaData>)media;
@end
如何解决这个协议问题?
【问题讨论】:
-
完整的编译器输出(在“报告导航器”中)应该包含有关问题的更多信息。
-
它只是显示这个错误信息先生。
-
@Dato'MohammadNurdin:您真的阅读了完整的编译器消息吗?我打赌有类似
note: protocol requires function bla bla bla ... note: candidate has non-matching type bla bla bla ...的消息 -
没有可接受的答案先生。
标签: ios objective-c swift