iOS:上传到parse.com时的NSString显示为空白

时间:2015-07-24 10:52:36

标签: objective-c parse-platform nsstring uitextview viewdidload

我从一个班级到另一个班级的NSString被保存在parse.com上

我有一个测验视图控制器,用户在UITextView中输入一个问题然后按下它们去选择朋友视图控制器,他们选择一个用户,然后通过解析发送问题。

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);
}

如果我在viewdidload方法中删除selectfriends.m文件中除NSLog之外的所有内容,则该文件不会上传到解析。我得到alertView显示和错误说不存在文件或目录。

然后我上传到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)字符串未传递为null,因为null在运行时未在控制台中显示。 (即使使用NSLog语句,控制台中也没有显示)

2)文件作为text.txt文件上传到parse.com但是当我下载文件以检查文件时文件是空白的。

所以在quizVC中键入一个问题,然后按next转到selectfirendsVC然后选择朋友并上传到parse.com

如何上传文本文件以在quizVC中的UITextView中显示用户输入的文本?

1 个答案:

答案 0 :(得分:0)

您不希望与SelectFriends vc的任何实例进行通信,例如在viewDidLoad中创建的实例。您必须与将要呈现的实例进行通信。

删除Quiz vc的viewDidLoad中的代码。从Quiz vc到SelectFriends vc创建一个segue。在Quiz vc中,实现prepareForSegue。在该方法中,询问textView的文本并在segue.destinationViewController上设置字符串属性。这是将要呈现的那个。

(对vc-vc通信的更一般处理here)。