gpt4 book ai didi

ios - 在 viewController 之间传输 int

转载 作者:行者123 更新时间:2023-11-28 22:59:50 25 4
gpt4 key购买 nike

view1.h

#import “view2.h"

@interface ViewController : UIViewController
{
int count;
}
@property (nonatomic, assign) int count;

在 view1.m 中

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{

if([segue.identifier isEqualToString:@"rating"])
{
NSLog(@"identifier: help %@ \n",segue.identifier);

view2 *vc = [segue destinationViewController];
vc.imageNumber = &(count);

}
}

在view2.h中

#import “view1.h"

@interface view2 : UIViewController


@property (nonatomic) int *imageNumber;

在 view2.m 中

- (void)viewDidLoad
{
[super viewDidLoad];

NSLog(@"imagenumber %@\n",imageNumber);

}

这里有什么问题?理想情况下,我希望能够双向发送信息……但我只是想弄清楚单向传输有什么问题。谢谢。

最佳答案

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{

if([segue.identifier isEqualToString:@"rating"])
{
NSLog(@"identifier: help %@ \n",segue.identifier);

view2 *vc = [segue destinationViewController];
//viewDidLoad has already happened.
vc.imageNumber = &(count);

}
}

您检查在 viewDidLoad 中设置的 int。当您进入 prepareForSegue 时,viewDidLoad 已经发生。尝试更改为使用 viewWillAppearviewDidAppear 看看会发生什么。我认为这一切都应该有效。

编辑抱歉,我没有仔细查看您的 NSLog。格式字符串中的 %@,就像您在 NSLog 中使用的是 NSString 的替代,假设参数是 NSObject 并尝试调用 [imageNumber description] ,这在这种情况下显然是荒谬的。事实上,您需要在格式字符串中使用标准整数标记,然后取消引用指针。正确的 NSLog 语句应该是这样的:

NSLog(@"imagenumber %d",*imageNumber);

关于ios - 在 viewController 之间传输 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10197400/

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