4

我不知道如何为我的 QLPreviewController 类设置 previewItemTitle 属性。这似乎有点奇怪,因为该类的 iPhone 开发人员文档说该属性@property (readonly)意味着我无法设置它。

有任何想法吗。谢谢

我的代码:

QLPreviewController *preview = [[QLPreviewController alloc] init];
    [preview setDataSource:self];

    [self presentModalViewController:preview animated:YES];
4

1 回答 1

16

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方法(例如,如果您有音乐播放器,您可以将这些方法添加到“Track”类并能够预览曲目)。

于 2010-09-25T00:57:32.007 回答