2015-07-24 1 views
-1

J'ai pris une NSString d'une classe à l'autre pour être enregistré sur parse.comiOS: NSString fois téléchargés sur parse.com montre vide

J'ai un contrôleur de vue quiz où un utilisateur entre une question dans un UITextView puis ils pressent sur pour aller au contrôleur de vue des amis sélectionnés, où ils sélectionnent un utilisateur, puis envoient la question par analyse.

quiz.h 

@property (nonatomic,strong) IBOutlet UITextView *textField; 
@property (nonatomic, strong) NSString *text; 


quiz.m 
- (void)viewDidLoad { 
    [super viewDidLoad]; 

    UITextView *textView = [[UITextView alloc] init]; 
    NSString *text = self.textField.text; 
    selectFriendsViewController *sfvc = [[selectFriendsViewController alloc] init]; 
    sfvc.string = text; 
} 

- (IBAction)next:(id)sender { 

if ([text length] == 0) { 
     UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error!" 
                  message:@"Enter some text" 
                  delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
     [alertView show]; 
    } else { 

    } 

} 

selectfriendsviewcontroller.h 

@property (nonatomic, strong) NSString *string; 

selectfriendsviewcontroller.m 

- (void)viewDidLoad { 
[super viewDidLoad]; 

quizViewController *qvc = [[quizViewController alloc] init]; 
qvc.text = string; 
UITextView *textfield = [[UITextView alloc] init]; 
string = textfield.text; 
NSLog(@"%@", self.string); 
} 

si je supprime tout sauf le NSLog dans le fichier selectfriends.m dans la méthode de viewDidLoad, le fichier télécharger l'habitude d'analyser. et je reçois l'alerte alertView montrant et l'erreur indiquant pas de fichier ou de répertoire existe.

puis-je télécharger à parse.com

- (void) uploadMessage; 
{ 
NSString *text =string; 
NSString *fileType= @"text"; 
NSString * fileName= @"text.txt"; 

NSData *data = [text dataUsingEncoding:NSUTF8StringEncoding]; 

PFFile *file = [PFFile fileWithName:fileName data:data]; 

[file saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { 
    if (error) { 
     UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Please try sending your message again" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 

     [alertView show]; 

1) la chaîne ne passe pas nulle comme nul ne montre pas dans la console lors de l'exécution. (rien ne s'affiche dans la console même avec l'instruction NSLog)

2) le fichier est téléchargé sur parse.com en tant que fichier text.txt mais lorsque je télécharge le fichier pour vérifier le texte, le fichier est vide.

donc dans le type quizVC une question puis appuyez sur suivant pour aller à selectfirendsVC puis sélectionnez amis et à télécharger parse.com

comment puis-je télécharger le fichier texte pour montrer à l'utilisateur du texte entré dans le UITextView dans le quizVC?

+0

voulez-vous télécharger le fichier avec le nom stringFromQuizView.txt? –

+0

Je pense que text.txt est bien, est-ce que le nom est important? – Harry

+0

avez-vous vérifié la chaîne dans la méthode uploadMessage. imprimer la chaîne dans la console –

Répondre

0

Vous ne voulez pas communiquer avec n'importe quelle instance de votre SelectFriends vc, comme celle créée dans viewDidLoad. Vous devez communiquer avec l'instance qui va être présentée. Supprimez le code dans viewDidLoad de Quiz vc. Créer une segue de Quiz vc à SelectFriends vc. Dans Quiz vc, implémentez prepareForSegue. Dans cette méthode, interrogez le texte de textView et définissez la propriété string sur le segue.destinationViewController. C'est celui qui sera présenté.

(Un traitement plus général de la communication vc-vc here).