2016-09-18 6 views
0

wie kann ich URL oder NSStringWie kann ich URL von einer anderen Klasse nennen

Klasse 1

+ (NSURL *)createRequestURLWithChannel:(NSString *)channelName { 
    NSString *sName = [channelName stringByReplacingOccurrencesOfString:@"_" withString:@"-"]; 
    NSString *channelvideo = [NSString stringWithFormat:@"%@", sName]; 
    return [NSURL URLWithString:url]; 
} 

Klasse 2 in einer anderen Klasse von Methode aufrufen

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
     if (PlayRowIndex == indexPath.row) { 

      NSURL *videoURL = [NSURL URLWithString:channelvideo]; 
      AVPlayer *player = [AVPlayer playerWithURL:videoURL]; 
      AVPlayerViewController *playerViewController = [AVPlayerViewController new]; 
      playerViewController.player = player; 
      [self presentViewController:playerViewController animated:YES completion:nil]; 


     } else if (StopRowIndex == indexPath.row) { 
     // Row stop 
     } else if (RowIndex == indexPath.row) { 
     // Row 3 
     } 

     [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
    } 

i will Aufruf url channelvideo von Methode (createRequestURLWithChannel) in Klasse 1 und verwenden Sie es in Methode (tableView) in Klasse 2

+0

Sie müssen Header der Klasse 1 in Klasse 2 importieren und dann eine Instanz der Klasse 1 erstellen –

+0

** NSNotificationCenter ** –

+0

Dies ist eine Instanzmethode s o Sie müssen kein Objekt erstellen. Sie können diese Methode einfach verwenden, indem Sie Ihre Klasse importieren. #import "Class1.h" und verwenden Sie die Methode wie folgt .. NSURL * url = [Class1 createRequestURLWithChannel @ "ChannelName"]; –

Antwort

0

Die Art und Weise, wie OOP (Object Oriented Programming) damit arbeitet, ist nicht so, dass Sie einfach eine Funktion aus einer anderen Klasse aufrufen können.

Zum Beispiel sagen wir, wir haben eine Klasse: "Orange".

Der Quellcode von Orange sagt dem Computer, wie er eine Orange erstellen soll und was die Orange tun soll.

Jetzt haben wir auch eine Klasse: "Banana".

In Banane möchten wir die Methode (Funktion) von Orange verwenden. Um dies zu tun, wir die Orange importieren müssen:

// in banana.h or banana.m 
#import "Orange.h" 

Jetzt müssen wir schaffen eine Orange:

Orange *myOrange = [[Orange alloc] init]; 

Und rufen schließlich eine Methode auf es:

NSSmoothie *mySmoothie = [myOrange makeSmoothieWith: self]; 
+0

Beachten Sie auch, dass Sie die Methode von Orange in Orange.h definieren müssen –

Verwandte Themen