QLPreviewController には previewItemTitle プロパティがありません。QLPreviewItemプロトコルのことです。
「読み取り専用」とは、プロパティを介して設定できないことを意味します(オーバーライドされない限り)。setPreviewItemTitle:
つまり、プロパティはメソッドを宣言しません。これはプロトコルにとって理にかなっています。コントローラーは、プレビュー項目のタイトルを設定できることを想定していません。
最も基本的なプレビュー アイテムの場合、次のようなものを使用できます。
@interface BasicPreviewItem : NSObject<QLPreviewItem>
{
}
@property (nonatomic, retain) NSURL * previewItemURL;
@property (nonatomic, copy) NSString* previewItemTitle;
@end
@implementation BasicPreviewItem
@synthesize previewItemURL, previewItemTitle;
-(void)dealloc
{
self.previewItemURL = nil;
self.previewItemTitle = nil;
[super dealloc];
}
@end
ただし、プロトコルのポイントは、任意のクラスを取り-(NSURL*)previewItemURL
、-(NSString*)previewItemTitle
メソッドを追加できるようにすることです (たとえば、音楽プレーヤーがあれば、これらのメソッドを「トラック」クラスに追加して、トラックをプレビューできるようにすることができます)。