繁体   English   中英

类不符合NSItemProviderWriting协议-Objective-C

[英]Class does not conform to NSItemProviderWriting protocol - Objective-C

创建一个实现NSItemProviderWriting的类

它给出警告为:

1.类'DraggableEvent'不符合协议'NSItemProviderWriting'
2. Class属性'writableTypeIdentifiersForItemProvider'要求定义方法'writableTypeIdentifiersForItemProvider'-使用@dynamic或在此类实现中提供方法实现

代码:DraggableEvent.h

#import <Foundation/Foundation.h>

@interface DraggableEvent : NSObject <NSItemProviderWriting>
{

}

DraggableEvent.m @implementation DraggableEvent

@synthesize writableTypeIdentifiersForItemProvider;

-(void)setWritableTypeIdentifiersForItemProvider:
(NSArray*)writableTypeIdentifiersForItemProvider{

 }
 -(NSArray*)writableTypeIdentifiersForItemProvider{
   writableTypeIdentifiersForItemProvider = [[NSArray 
   alloc]initWithObjects:@"com.apple.ical.ics", nil];
   return writableTypeIdentifiersForItemProvider;
  }


  - (nullable NSProgress *)loadDataWithTypeIdentifier:(NSString 
  *)typeIdentifier
               forItemProviderCompletionHandler:(void (^)(NSData * 
   _Nullable data, NSError * _Nullable error))completionHandler{
    completionHandler([self createVEvent], nil);
    return nil;
   }

我明白了。

注意,该属性是一个类属性。

@property (class, NS_NONATOMIC_IOSONLY, readonly, copy) NSArray<NSString *> *readableTypeIdentifiersForItemProvider;

所以我们应该使用

+ (NSArray<NSString *> *)writableTypeIdentifiersForItemProvider; + (NSArray<NSString *> *)readableTypeIdentifiersForItemProvider;

代替 -

看到下面这个问题

如何实现@property(class,readonly,copy,nonatomic)NSArray <NSString *> * _Nullable可读TypeIdentifiersForItemProvider;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM