Domanda

Non riesco a capire come impostare la proprietà previewItemTitle per la mia classe QLPreviewController. La sua sembra un po 'strano come il documento sviluppatore iPhone per questa classe dice che che la proprietà è @property (readonly) il che significherebbe che non riesco a impostare.

Tutte le idee. Grazie

Il mio codice:

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

    [self presentModalViewController:preview animated:YES];
È stato utile?

Soluzione

QLPreviewController non ha alcuna proprietà previewItemTitle. Vuoi dire che il QLPreviewItem protocollo .

significa "readonly", che non è possibile impostare tramite la proprietà (meno che non sia sovrascritto); cioè la proprietà non dichiara un metodo setPreviewItemTitle:. Questo ha senso per il protocollo:. Il controller non si aspetta di essere in grado di impostare i titoli anteprima voce

Per la maggior voce di anteprima di base, si potrebbe usare qualcosa di simile:

@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

Tuttavia, il punto del protocollo è così che si può prendere qualsiasi metodi di classe e aggiungere -(NSURL*)previewItemURL e -(NSString*)previewItemTitle (ad esempio, se si ha un lettore di musica, è possibile aggiungere questi metodi al "Track" classe e di essere in grado di tracce in anteprima).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top