在目标C中向NSMutableArray添加对象时遇到困难我正在使用iPhoneSDK,有一个问题是做一些简单的事情。我试图添加一个NSNumber对象的NSMutableArray实例变量。我试着添加NSNumber卡片到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];}因此,此代码将执行,并且似乎不会泄漏(根据泄漏性能工具)。但是,当逐步执行代码时,在任何时候都不会。CardIdObject出现在视觉卡阵列.综上所述,我知道这些基本问题对于objc新手(像我一样)来说是很常见的,所以提前道歉吧!
3 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
viewedCardsArray
init
- (id)init{ self = [super init]; if(self) { viewedCardsArray = [[NSMutableArray alloc] init]; } return self;}
dealloc
- (void)dealloc{ [viewedCardsArray release]; [super dealloc];}
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
self. viewedCardsArray = [NSMutableArray array];
叮当猫咪
TA贡献1776条经验 获得超12个赞
不要忘记使用[超级init]的结果。它可以返回零或另一个对象。永远不要假设它返回了你以前的自我,因为当它不返回的时候,它就会释放它,如果你对这个死掉的对象做进一步的初始化,很可能会导致崩溃。最简单的方法是如果(Self=[Superinit]){/*初始化这里*/}返回Self;(取决于您自己的风格-例如,您可以在条件之前进行赋值,如果您愿意的话)。
- 3 回答
- 0 关注
- 392 浏览
添加回答
举报
0/150
提交
取消