Objective c 当这个NSDictionary调用initWithArray时,为什么它包含0个对象?
我正在写一个应用程序来复习拉丁语动词的变化,但我遇到了一个障碍。我创建了一个尾端数组,但是当我尝试用这些尾端初始化Objective c 当这个NSDictionary调用initWithArray时,为什么它包含0个对象?,objective-c,ios,Objective C,Ios,我正在写一个应用程序来复习拉丁语动词的变化,但我遇到了一个障碍。我创建了一个尾端数组,但是当我尝试用这些尾端初始化NSDictionary时,dictionary的计数始终为0。我做错了什么 这是BlackBox.h: #import <Foundation/Foundation.h> @interface BlackBox : NSObject @property (weak) NSDictionary *setOfEndings; - (void)determineEndi
NSDictionary
时,dictionary的计数始终为0。我做错了什么
这是BlackBox.h
:
#import <Foundation/Foundation.h>
@interface BlackBox : NSObject
@property (weak) NSDictionary *setOfEndings;
- (void)determineEndingsToUse;
@end
有什么想法吗?由于setOfEndings是一个弱指针,它将立即被释放,因为没有对已分配词典的强引用
您可以通过将“引用”更改为“强”或按以下方式进行更改使其正常工作:
NSDictionary *dict = [[NSDictionary alloc] initWithObjects:endingsPossible forKeys:keys];
self.setOfEndings = dict;
//By default dict is a strong reference to the allocated dictionary.
您是否尝试过通过检查调试器是否处于if状态来进行调试?或者执行了字典分配行,或者没有执行。您是否尝试创建对NSDictionary对象的强引用?将其设置为非原子也可能是一个好主意,尽管与您的特定情况无关。非常感谢您——做到了!现在当然还有其他问题,但这是一个新问题。。。。
NSDictionary *dict = [[NSDictionary alloc] initWithObjects:endingsPossible forKeys:keys];
self.setOfEndings = dict;
//By default dict is a strong reference to the allocated dictionary.