2011-04-12 1 views
9

Selon iOS Using and Creating Error Objects, on peut afficher un objet d'erreur avec le code suivant.Où est NSAlert.h dans le SDK iOS?

NSError *theError = nil; 
BOOL success = [myDoc writeToURL:[self docURL] ofType:@"html" error:&theError]; 

if (success == NO) { 
    // Maybe try to determine cause of error and recover first. 
    NSAlert *theAlert = [NSAlert alertWithError:theError]; 
    [theAlert runModal]; // Ignore return value. 
} 

Malheureusement, je ne suis pas assez intelligent pour comprendre comment inclure NSAlert.h.

Toute aide serait appréciée.

+0

FYI: depuis iOS 8 UIAlertController remplace UIAlertView et UIActionSheet. –

Répondre

15

Ce document fait référence à la structure AppKit (OS X). Juste après cette boîte, il est dit:

(UIAlertView, the UIKit class corresponding to NSAlert, has no equivalent method for alertWithError:.)

Vous pouvez toujours utiliser UIAlertView, mais vous devrez remplir manuellement le titre, le message et les chaînes de bouton de l'erreur.

+5

Merci. Pourquoi Apple fait-il cette merde? Son madenning à quelqu'un d'apprendre Cocoa Touch. – jww

5

NSAlert n'est pas disponible dans UIKit. l'exemple, il suffit d'une copie du passé du document OS X.

This code in Listing 2-1 uses the returned NSError to display an error alert to the user immediately. (UIAlertView, the UIKit class corresponding to NSAlert, has no equivalent method for alertWithError:.) Error objects in the Cocoa domain are always localized and ready to present to users, so they can often be presented without further evaluation.

+3

Merci. Pourquoi Apple fait-il cette merde? Son madenning à quelqu'un d'apprendre Cocoa Touch. (Daniel a obtenu le chèque vert parce qu'il était le premier à répondre - j'aurais préféré vous donner à tous les deux le crédit). – jww

+0

Pas de problème, premier arrivé, premier servi. Mais oui, la documentation est un peu contradictoire. La plupart des documents spécifiques à iOS sont vraiment bons, mais une partie de la documentation générale sur Objective-C est plus liée à OSX. – rckoenes

-5

Son dans le cadre AppKit. NSAlert

Importer ce cadre à votre projet dans Xcode, puis utilisez la directive #include en haut de votre code

il y a aussi quelques exemples d'utilisation NSAlert si vous allez à cette page et regardez le " Exemple de code ". Je fais toujours cela si je ne suis pas sûr de toute partie d'un nouveau cadre

+6

appkit n'est pas disponible sur iOS –