2010-12-12 49 views
0

Je commence tout juste avec Objective-C sur iOS. J'ai un int contenant un nombre. Je veux déclarer un NSString ainsi je peux employer des spécificateurs de format d'utilisation en lui assignant une valeur.Déclarer un NSString avec des spécificateurs de format et l'utiliser comme une URL à ouvrir dans UIWebview

je pensais que ce serait peut-être quelque chose comme ceci:

NSString [NSString stringWithFormat] myString;

myString = [@ "http://myurl.com/%d", myInt];

Je crois ce n'est pas le cas, alors la première question est: Comment puis-je déclarer un NSString qui peut gérer spécificateurs puis lui attribuer une valeur à l'aide spécificateurs de format? Le but de cette NSString est de contenir une URL, exactement comme la deuxième ligne ci-dessus. La deuxième question est: Comment puis-je utiliser cette chaîne comme URL pour ouvrir dans un UIWebView? Je suppose que j'utiliser quelque chose comme ceci:

[webView loadRequest:

Malheureusement, cela est aussi loin que ma connaissance étend. Y at-il un moyen que je peux dire à mon UIWebView (webView ci-dessus) pour utiliser le NSString avec l'URL que j'ai mentionné plus tôt?

J'ai l'intention d'avoir le NSString comme variable globale, car sa valeur lui sera assignée dans une fonction C. Et 'webView' l'utilisera dans une méthode (ce que je pense être une). Tout ce code se trouve dans le même fichier, le fichier Delegate.m. Tout est exécuté au lancement de l'application.

Toute aide serait grandement appréciée,

Merci beaucoup.

Répondre

0

Pour votre première partie:

NSString *myString = [NSString stringWithFormat:@"http://myurl.com/%d", myInt]; 

Ensuite, à partir this tutorial:

//Create a URL object. 
NSURL *url = [NSURL URLWithString:myString]; 

//URL Request Object 
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 

//Load the request in the UIWebView. 
[webView loadRequest:requestObj]; 
2

Votre chaîne doit ressembler à ceci:

NSString *myString = [NSString stringWithFormat:@"http://myurl.com/%d", myInt]; 

Qu'est-ce que vous avez manqué: ajouter le * pour indiquer un pointeur, et penser que vous deviez/pourriez d'abord indiquer que la chaîne aurait un format puis plus tard, énoncez le format. Tout se passe à la fois, créant la chaîne avec le format spécifié.

Edité ajouter NSURL

Pour créer une URL que vous créez un objet de classe NSURL, comme ceci:

NSURL *myURL = [[NSURL alloc] initWithString:myString]; 

Et puis vous créez la demande url:

NSURLRequest *request = [NSURLRequest requestWithURL:myURL]; 

Et enfin, dites à votre webView de charger la demande:

[webView loadRequest:request]; 
+0

Salut Matthew, merci beaucoup qui a bien fonctionné, mais je reçois une erreur. Il semble que le NSString n'est pas accessible en dehors de la fonction C, où il a assigné l'URL. Les 3 dernières lignes de code que vous avez fournies sont exécutées pendant: "didFinishLoadingWithOptions". J'ai une erreur en disant que le NSString est non déclaré. Y at-il un travail autour? Merci beaucoup – baxterma

+0

Vous avez raison de dire que la chaîne ne sera disponible que dans la méthode où elle a été créée. Où est-il déclaré maintenant? –