If only in your implementation QLPreviewItemCustomyou want to access the installer, then why not extend the property in the read-write extension class category:
QLPreviewItemCustom.m
#import "QLPreviewItemCustom.h"
@interface QLPreviewItemCustom ()
@property (readwrite) NSURL *previewItemURL;
@property (readwrite) NSString *previewItemTitle;
@end
@implementation QLPreviewItemCustom
@synthesize previewItemTitle;
@synthesize previewItemURL;
@end
If you want to use the setter everywhere, you will need to use a different ivar name and write your getter for the original to go to your new one. Like this:
QLPreviewItemCustom.h
#import <Foundation/Foundation.h>
#import <QuickLook/QuickLook.h>
@interface QLPreviewItemCustom : NSObject <QLPreviewItem> {
NSURL *url;
NSString *title;
}
@property (readwrite) NSURL *url;
@property (readwrite) NSString *title;
@end
QLPreviewItemCustom.m
#import "QLPreviewItemCustom.h"
@implementation QLPreviewItemCustom
@synthesize url;
@synthesize title;
- (NSURL*)previewItemURL {
return self.url;
}
- (NSString*)previewItemTitle {
return self.title;
}
@end
, , . .. QLPreviewItemCustom - - ABCPreviewItemCustom.