我正在使用 iPhone SDK,但在执行一些简单操作时遇到问题。我正在尝试添加一个NSNumber反对NSMutableArray实例变量。我尝试添加 NSNumbercard到 NSMutableArray已查看的卡片数组,但是如果不破坏,它不会被添加到数组中。这是代码。
/////////////////////////////////////////////////////
// Inside the header file Class.h
@interface MyViewController : UIViewController {
NSMutableArray *viewedCardsArray;
//snip ...
}
@property (nonatomic, retain) NSMutableArray *viewedCardsArray;
@end
/////////////////////////////////////////////////////
// Inside the methods file Class.m
#import "StudyViewController.h"
@implementation StudyViewController
@synthesize viewedCardsArray
//snip ...
- (IBAction)doShowCard {
//snip ...
NSNumber *cardIdObject = [[NSNumber alloc] initWithInt:(int)[self.currentCard cardId]];
[viewedCardsArray addObject: cardIdObject];
[cardIdObject release];
}
所以这段代码执行了,并且似乎没有泄漏(根据 Leaks 性能工具)。然而,当单步执行代码时,任何时候都不会卡ID对象出现在已查看的卡片数组.
通过浏览SO,我知道这些基本问题对于 ObjC 新手(像我一样)来说很常见,所以提前道歉!
你初始化了吗viewedCardsArray
?如果不需要,您需要去某个地方 - 这通常是在init
你的班级的方法:
- (id)init
{
self = [super init];
if(self) {
viewedCardsArray = [[NSMutableArray alloc] init];
}
return self;
}
然后它被释放在dealloc
method:
- (void)dealloc
{
[viewedCardsArray release];
[super dealloc];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)