2017-07-13 4 views

Répondre

1

Utilisez NSURLComponents créé à partir d'un NSURL ou NSString de votre URL.

De là, vous pouvez utiliser path pour obtenir la pièce /cc/test.html. Ensuite, utilisez lastPathComponent pour obtenir test.html et enfin utiliser stringByDeletingPathExtension pour obtenir test.

Pour obtenir la valeur "id", commencez par la valeur queryItems des composants. Itérer ce tableau en trouvant le NSURLQueryItem avec le nom de "id", puis obtenir sa valeur.

1

Vous pouvez créer NSURLComponents à partir des paramètres d'obtention de chaîne d'URL en appelant la méthode queryItems. Il retournera tableau de NSURLQueryItem

NSURLComponents *components = [NSURLComponents componentsWithString:@"https://some.com/cc/test.html?id=3039&value=test"]; 
    NSArray *array = [components queryItems]; 
    for(NSURLQueryItem *item in array){ 
     NSLog(@"Name: %@, Value: %@", item.name, item.value); 
    } 
    NSLog(@"Items: %@", array); 
0

Nous pouvons faire l'extension

extension URL {    
     func getParamValue(paramaterName: String) -> String? { 
      guard let url = URLComponents(string:self.absoluteString) else { return nil } 
      return url.queryItems?.first(where: { $0.name == paramaterName})?.value 
     } 
    } 

Maintenant, vous pouvez appeler comme ci-dessous

let someURL = URL(string: "https://some.com/cc/test.html?id=3039&value=test")! 
someURL.getParamValue("id") // 3039 
someURL.getParamValue("value") // test