gpt4 book ai didi

ios - 对对象的引用返回 null(iOS 类继承)

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:07:54 25 4
gpt4 key购买 nike

我是 iOS 编程的新手,在类继承方面遇到了一些问题。

我有一个带有对象的类(初始化为 .h 中的属性)

@property (nonatomic, weak) NSNumber *count;

在特定功能中每按下一个按钮它就会递增。

在另一个类中我引用了它:

#import "otherClass.h"
...
otherClass *otherC = [[otherClass alloc]init];
NSLog(@"COUNT: %@", otherClass.count);

无论我如何尝试,输出仍然为空。我不确定我是否实现错误。请帮忙!

**找到解决方案

(1) 定义一个新类,将其命名为 RSModel (2) 将 @property (nonatomic) NSInteger count 连同您定义的实例方法移动到该新类中。实例方法需要更改为返回RSModel (3) 在所有需要访问计数的 View Controller 中,包括“RSModel.h”,并写入[RSModel instance].count 以访问共享计数器。

最佳答案

当你定义一个属性weak时,这意味着至少存在一个对同一个对象的强引用,这使得它不会被释放。看起来您的情况并非如此。此外,看起来您在那里不需要 NSNumber - NSInteger 应该就足够了。在这种情况下,您无需担心弱/强的区别:

@property (nonatomic) NSInteger count;

...
therClass *otherC = [[otherClass alloc]init];
NSLog(@"COUNT: %d", otherClass.count);

但是请注意,由于 count 是实例属性,因此递增需要发生在 otherClass 的同一实例上。该类的所有新对象都将其 count 属性设置为默认值零。

关于ios - 对对象的引用返回 null(iOS 类继承),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19932908/

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