gpt4 book ai didi

iphone - 无法访问另一个类的@property

转载 作者:行者123 更新时间:2023-12-01 17:18:33 25 4
gpt4 key购买 nike

这里是一个非常菜鸟的问题。
我有 2 个 VC。
一个叫 SGPlayer另一个是 SGDownloader .基本上我想改变 SGDownloader 的属性从第一个类开始。
我导入 SGDownloader像这样的类:

//  SGPlayer.h

#import <UIKit/UIKit.h>
#import "SGDownloader.h"

@interface SGPlayer : UIViewController

@property (nonatomic, retain) SGDownloader *downloaderClass;
SGPlayer.m是这样的:
//  SGPlayer.m

#import "SGPlayer.h"

@interface SGPlayer ()

@end

@implementation SGPlayer
@synthesize downloaderClass;

然后我将 downloadUrl 属性设置为 SGDownloaderUIButton 触发的操作中的类像那样:
- (IBAction)loadURLButton:(id)sender {

[self performSegueWithIdentifier:@"loadMyData" sender:nil];
downloaderClass.downloadURL = [NSURL URLWithString:@"http://www.google.com"];
}
NSLog在我的 URL 上给我 (null)。如果我使用 prepareForSegue方法一切都很好:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

if ([[segue identifier] isEqualToString:@"loadMyData"])
{
SGDownloader *vc = [segue destinationViewController];

vc.downloadURL = [NSURL URLWithString:@"http://www.google.com"];
}
}

问题是我不想使用 prepareForSegue这里。

我想我可能误解了如何在 Obj-C 中的类之间传输数据的整个概念。

编辑:

我在 SGDownloader 中确实有一个综合属性类(class):
@interface SGDownloader : UIViewController

@property (nonatomic, retain) NSURL *downloadURL;

@end

最佳答案

创建 downloadURL 的属性并合成它,或者您可以使用委托(delegate)在类之间传递值

关于iphone - 无法访问另一个类的@property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13947921/

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