gpt4 book ai didi

objective-c - 如何解决 'unrecognized selector sent to instance' ?

转载 作者:IT老高 更新时间:2023-10-28 11:49:23 25 4
gpt4 key购买 nike

在 AppDelegate 中,我正在分配一个在静态库中定义的实例。这个实例有一个 NSString 属性设置了一个“副本”。当我访问此实例上的字符串属性时,应用程序因“发送到实例的无法识别的选择器”而崩溃。 Xcode 为该属性提供了代码提示,这意味着它在调用应用程序中是已知的。特定类被编译到静态库目标中。我错过了什么?

添加一些代码。

//static library 
//ClassA.h
@interface ClassA : NSObject {
...
NSString *downloadUrl;
}
@property(nonatomic, copy) NSString *downloadUrl;

//ClassA.m
@synthesize downloadUrl;

在调用应用的 appDelegate 中。

//app delegate header file
@interface myApp : NSObject <UIApplicationDelegate> {
ClassA *classA;
}
@property (nonatomic, retain) ClassA *classA;

//app delegate .m file
@synthesize classA;

- (void)applicationDidFinishLaunching:(UIApplication *)application {
classA = [[ClassA alloc] init];
//exception occurs here. downloadUrl is of type NSCFNumber
classA.downloadUrl = @"http://www.abc.com/";
...}

应用程序中的其他类将获得对委托(delegate)的引用并调用 classA.downloadUrl。

最佳答案

1) 是否在 @implementation block 内进行综合?

2) 你应该引用 self.classA = [[ClassA alloc] init];self.classA.downloadUrl = @"..." 而不是纯 classA?

3) 在您的myApp.m 文件中,您需要导入ClassA.h,当它丢失时,它会默认为数字还是指针? (在 C 变量中,如果编译器找不到,则默认为 int):

#import "ClassA.h".

关于objective-c - 如何解决 'unrecognized selector sent to instance' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/861626/

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