gpt4 book ai didi

ios - 传递 NSArray 使数组为空

转载 作者:行者123 更新时间:2023-11-29 03:29:48 24 4
gpt4 key购买 nike

我正在尝试使用PrepareForSegue 方法将数组从一个 View 传递到另一个 View 。在第一个 View 中,我有一个名为“提交”的按钮,如果按下该按钮,则会读取 textView 并将文本存储在 NSArray 中,然后应将此数组传递到另一个 View (push segue),但是当数组到达时是空的。这是代码

//.h
@property (strong, nonatomic) NSArray *words;


//.m

- (IBAction)Submit:(id)sender{
//read textView
_words = [self.myTextView.text componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
//if Submit is pressed go to SecondViewController
if ([segue.identifier isEqualToString:@"secondSegue"]) {
SecondViewController *vc = [segue destinationViewController];
vc.array = _words;
}
}

这里是接收数组的 SecondViewController 的代码

- (void)viewDidLoad
{
[self Calculate];
[super viewDidLoad];
// Do any additional setup after loading the view.
}

-(void)Calculate
{
int size = [array count];
NSLog(@"size is %d",size);
}

日志总是显示“大小为 0”。我犯了什么错误吗?难道 Segue 发生在我可以读取 TextView 并填充数组之前,所以它总是空的?提前致谢!

编辑:我尝试 NSLog 提交操作,但我发现该程序永远不会访问它,因此它永远不会读取! (附:是的,我连接了按钮)所以segue发生在提交操作之前我该如何解决?我可以在“提交”操作中复制“PrepareForSegue”代码吗?

最佳答案

尝试在发送数组时复制数组,您确定 -(IBAction)submit.. 正在被调用吗?可能会被释放?

我认为提交按钮也具有执行 segue 的操作。我不确定执行顺序。尝试从准备转场调用 Submit 方法,而不是从按钮调用。这样你就可以保证它首先被调用。

关于ios - 传递 NSArray 使数组为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19965044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com