mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			27 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
		
		
			
		
	
	
			27 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
| 
								 
											8 years ago
										 
									 | 
							
								//
							 | 
						||
| 
								 | 
							
								//  Copyright (c) 2018 Open Whisper Systems. All rights reserved.
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								NS_ASSUME_NONNULL_BEGIN
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@interface NSItemProvider (OWS)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// NSItemProvider.loadItem(forTypeIdentifier:...) is unsafe to call from Swift,
							 | 
						||
| 
								 | 
							
								// since it can yield values of arbitrary type.  It has a highly unusual design
							 | 
						||
| 
								 | 
							
								// in which its behavior depends on the _type_ of the completion handler.
							 | 
						||
| 
								 | 
							
								// loadItem(forTypeIdentifier:...) tries to satisfy the expected type of the
							 | 
						||
| 
								 | 
							
								// completion handler.  This "hinting" only works in Objective-C.  In Swift,
							 | 
						||
| 
								 | 
							
								// The type of the completion handler must agree with the param type.
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								// Therefore we use an Objective-C category to hint to NSItemProvider that we
							 | 
						||
| 
								 | 
							
								// prefer an instance of NSData.
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								// See: https://developer.apple.com/documentation/foundation/nsitemprovider/1403900-loaditemfortypeidentifier
							 | 
						||
| 
								 | 
							
								- (void)loadDataForTypeIdentifier:(NSString *)typeIdentifier
							 | 
						||
| 
								 | 
							
								                          options:(nullable NSDictionary *)options
							 | 
						||
| 
								 | 
							
								                completionHandler:(nullable NSItemProviderCompletionHandler)completionHandler;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								NS_ASSUME_NONNULL_END
							 |