返回信息流在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:如何才能建立一个可变数组,开始什么都没有,随后将东西一个一个加进去呢?
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #7035同步于 2012/9/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖
[问题]求助一个objective-c的小问题,此版人气不高啊……【自己
sevenplus
2012/9/29镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
自我解答:
NSMutableArray* cardArray = [[NSMutableArray alloc] init];
如果开始这样初始化下就可以了。其实 赋初始值的时候相当于默认执行了初始化的工作。
NSMutableArray* cardArray 这句的意思是创建一个名为 cardArray 的指针.
[[NSMutableArray alloc] init] 这句是分配内存并且初始化.
顺便提一句, 你的代码风格实在是太糟糕了, 建议改一改.
【 在 sevenplus 的大作中提到: 】
: 自我解答:
: NSMutableArray* cardArray = [[NSMutableArray alloc] init];
: 如果开始这样初始化下就可以了。其实 赋初始值的时候相当于默认执行了初始化的工作。