J'ai mis en place un code dans lequel Viewcontroller *vc
est déclaré globalement dans Appdelegate.mm
et vc est initialisé à rootviewcontroller. Lorsque j'appelle une méthode de Viewcontroller
qui modifie le UILabel, il commence à écraser le texte précédent après 3-4 changements.Ecrasement UILabel par-dessus la valeur précédente
//AppDelegate.mm
@implementation AppDelegate
ViewController *vc;
- (void)feedSamplesToEngine:(UInt32)audioDataBytesCapacity audioData:(void *)audioData {
if(check>0 || check==-1)
{
[vc writetolabel:check];
}
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
vc = (ViewController *)self.window.rootViewController;
}
..
//ViewcONTROLLER.m
@interface ViewController()
{ AVAudioSession *session;
}
@end
@implementation ViewController
@synthesize appDelegate; //global declaration bitches
- (void)viewDidLoad {
[super viewDidLoad];
appDelegate = (AudioRecorderAppDelegate *)[[UIApplication sharedApplication] delegate];
[email protected]"OTP";
[appDelegate startRecording];
}
- (void)writetolabel:(int) check{
self.TextView.text=nil;
if(check==-1)
self.TextView.text= [NSString stringWithFormat:@"OTP not verified"];
else
self.TextView.text= [NSString stringWithFormat:@"%d", check];
}
- (void)dealloc {
[UITextView release];
[super dealloc];
}
@end
J'ai essayé la recherche de la même chose, mais aucune des réponses a résolu mon problème. Les valeurs changent régulièrement, le problème n'est pas lié à la valeur transmise mais au fait qu'elles sont écrasées les unes après les autres après les trois premières valeurs.
Non, le même problème est toujours en cours. Mon analyse du problème me fait sentir qu'un nouveau pointeur vers la classe ViewController est initialisé à chaque fois (même si c'est global) et que la méthode est appelée. –
Attribuez un arrière-plan à textView chaque fois que vous affectez une valeur à textView. De cette façon, vous pouvez vérifier votre point. – Kumar
Ajouté, self.TextView.backgroundColor = [UIColor whiteColor]; cela fonctionne, merci :) Bien que ce serait génial si je savais pourquoi ça se passe exactement. –