mirror of
				https://github.com/SoPat712/YTLitePlus.git
				synced 2025-10-31 12:54:14 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
| //
 | |
| //  FLEXNSDataShortcuts.m
 | |
| //  FLEX
 | |
| //
 | |
| //  Created by Tanner on 3/29/21.
 | |
| //
 | |
| 
 | |
| #import "FLEXNSDataShortcuts.h"
 | |
| #import "FLEXObjectExplorerFactory.h"
 | |
| #import "FLEXShortcut.h"
 | |
| 
 | |
| @implementation FLEXNSDataShortcuts
 | |
| 
 | |
| + (instancetype)forObject:(NSData *)data {
 | |
|     NSString *string = [self stringForData:data];
 | |
|     
 | |
|     return [self forObject:data additionalRows:@[
 | |
|         [FLEXActionShortcut title:@"UTF-8 String" subtitle:^(NSData *object) {
 | |
|             return string.length ? string : (string ?
 | |
|                 @"Data is not a UTF8 String" : @"Empty string"
 | |
|             );
 | |
|         } viewer:^UIViewController *(id object) {
 | |
|             return [FLEXObjectExplorerFactory explorerViewControllerForObject:string];
 | |
|         } accessoryType:^UITableViewCellAccessoryType(NSData *object) {
 | |
|             if (string.length) {
 | |
|                 return UITableViewCellAccessoryDisclosureIndicator;
 | |
|             }
 | |
|             
 | |
|             return UITableViewCellAccessoryNone;
 | |
|         }]
 | |
|     ]];
 | |
| }
 | |
| 
 | |
| + (NSString *)stringForData:(NSData *)data {
 | |
|     return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
 | |
| }
 | |
| 
 | |
| @end
 | |
| 
 | |
| @interface NSData (Overrides) @end
 | |
| @implementation NSData (Overrides)
 | |
| 
 | |
| // This normally crashes
 | |
| - (NSUInteger)length {
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| @end
 | 
