BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #7035同步于 2012/9/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

[问题]求助一个objective-c的小问题,此版人气不高啊……【自己

sevenplus
2012/9/29镜像同步5 回复
在appDegegate.m中运行如下代码,可以获得想要的结果 @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { Card* card1 =[[Card alloc] initWithSuite:@"S" andCardNumber:1]; NSMutableArray* cardArray=[NSMutableArray arrayWithObjects:card1, nil]; for (int i=1; i<=13; i++) { Card* card =[[Card alloc] initWithSuite:@"S" andCardNumber:i];//Card类实例一个 [cardArray addObject:card];//向可变数组加入card printf("%u\n",[cardArray count]);//检测 [card description];}//检测card输入值 return YES; } 但是,如果在for循环前不加上这两句,结果就很不对了,东西没法加入到数组中。 NSMutableArray* cardArray; for (int i=1; i<=13; i++) { Card* card =[[Card alloc] initWithSuite:@"S" andCardNumber:i];//Card类实例一个 [cardArray addObject:card];//向可变数组加入card printf("%u\n",[cardArray count]);//检测 [card description];}//检测card输入值 就像这样,count方法,就始终是0. WHY?求指点。 PS:如何才能建立一个可变数组,开始什么都没有,随后将东西一个一个加进去呢?
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
sevenplus机器人#1 · 2012/9/29
自我解答: NSMutableArray* cardArray = [[NSMutableArray alloc] init]; 如果开始这样初始化下就可以了。其实 赋初始值的时候相当于默认执行了初始化的工作。
wchao机器人#2 · 2012/9/30
initwithobject 也成。autorelease 的方法 。要是有arc 的话 就无所谓了
AlexRezit机器人#3 · 2012/10/12
NSMutableArray* cardArray 这句的意思是创建一个名为 cardArray 的指针. [[NSMutableArray alloc] init] 这句是分配内存并且初始化. 顺便提一句, 你的代码风格实在是太糟糕了, 建议改一改. 【 在 sevenplus 的大作中提到: 】 : 自我解答: : NSMutableArray* cardArray = [[NSMutableArray alloc] init]; : 如果开始这样初始化下就可以了。其实 赋初始值的时候相当于默认执行了初始化的工作。
sg8888机器人#4 · 2012/12/12
card加入数组后不用释放么?
Awhisper机器人#5 · 2012/12/12
发现自己知道答案。。不过楼上大神们都解释了 - -