Ich habe jedes Beispiel in Bezug auf Singleton, öffentliche und globale Variablen in Stack-Überlauf zu diesem Thema gesucht und versucht. Ich mache irgendwo einen Fehler. Ich habe eine Einstellungsvariable namens strIP, die Teil eines textField ist und in meinem secondViewController.h deklariert ist. Ich möchte, dass diese Variable in einer Klasse namens myWSupdate.m verwendet wird. Es ist nur eine Variable, die ich an eine Verbindungszeichenfolge übergeben möchte. Dies kompiliert korrekt, aber die App stürzt beim Ausführen ab. Was mache ich falsch?Singleton, public oder globale Variablen verwenden
Fehler von complier: Beenden app aufgrund nicht abgefangene Ausnahme 'NSInvalidArgumentException', Grund: '+ [SecondViewController sharedip]: Unbekannter Selektor zur Klasse 0x6403c gesendet'
secondViewController.h
@interface SecondViewController : UIViewController
{
UITextField *ipAdd;
NSString *strIP;
}
@property (nonatomic, retain) IBOutlet UITextField *ipAdd;
@property (retain) NSString *strIP;
+(SecondViewController*)sharedIP;
dann I nennen es in myWSupdate.m:
#import "SecondViewController.h"
/* Implementation of the service */
@implementation myWSupdate
- (id) init
{
if(self = [super init])
{
SecondViewController* IP = [[SecondViewController sharedIP]init];
NSLog(@"the test has %@", IP.strIP);
}
}
@end
Was ist die Frage? – Odys
Ich bekomme immer einen Fehler von "Verwendung von nicht deklarierten Bezeichner 'strIP'." In myWSupdate.m Was fehlt mir? – iDev
Weil strIP ein Mitglied von SecondViewController ist und Sie versuchen, in einer Methode von myWSupdate darauf zuzugreifen? – Almo