我从一个班级到另一个班级的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中显示用户输入的文本?
答案 0 :(得分:0)
您不希望与SelectFriends vc的任何实例进行通信,例如在viewDidLoad中创建的实例。您必须与将要呈现的实例进行通信。
删除Quiz vc的viewDidLoad中的代码。从Quiz vc到SelectFriends vc创建一个segue。在Quiz vc中,实现prepareForSegue。在该方法中,询问textView的文本并在segue.destinationViewController上设置字符串属性。这是将要呈现的那个。
(对vc-vc通信的更一般处理here)。