Objective c 遍历数组时崩溃
我试图简单地打印出数组的内容Objective c 遍历数组时崩溃,objective-c,arrays,Objective C,Arrays,我试图简单地打印出数组的内容 //initialization, ... NSArray *stockprices = [NSArray arrayWithObjects:@[stock1,stock2,stock3], nil]; for (BNRStockHolding *stock in stockprices) { // says that there are 3 objects in stock and crashes. //
//initialization, ...
NSArray *stockprices = [NSArray arrayWithObjects:@[stock1,stock2,stock3], nil];
for (BNRStockHolding *stock in stockprices) {
// says that there are 3 objects in stock and crashes.
// tried to check -> isMemberOfClass:BNRStockHolding in an if before and got 'unexpected interface name'.
NSLog(@"Purchase Price: %.02f \n Shares: %d \n Current Price: %.02f \n \n \n \n", [stock purchasePrice], [stock numberOfShares],[stock currentSharePrice]);
当您这样做时:
NSArray *stockprices = [NSArray arrayWithObjects:@[stock1, stock2, stock3], nil];
//is same as
NSArray *stockprices = [NSArray arrayWithObjects:[NSArray arrayWithObjects:stock1, stock2, stock3, nil], nil];
//or
NSArray *stockprices = [NSArray arrayWithObjects:[[NSArray alloc] initWithObjects:stock1, stock2, stock3, nil], nil];
因此,您基本上创建了一个数组,其第0个元素是数组,因为@[stock1,stock2,stock3]
本身创建了一个数组
相反,你应该:
NSArray *stockprices = [NSArray arrayWithObjects:stock1, stock2, stock3, nil];
或
当您这样做时:
NSArray *stockprices = [NSArray arrayWithObjects:@[stock1, stock2, stock3], nil];
//is same as
NSArray *stockprices = [NSArray arrayWithObjects:[NSArray arrayWithObjects:stock1, stock2, stock3, nil], nil];
//or
NSArray *stockprices = [NSArray arrayWithObjects:[[NSArray alloc] initWithObjects:stock1, stock2, stock3, nil], nil];
因此,您基本上创建了一个数组,其第0个元素是数组,因为@[stock1,stock2,stock3]
本身创建了一个数组
相反,你应该:
NSArray *stockprices = [NSArray arrayWithObjects:stock1, stock2, stock3, nil];
或
当您这样做时:
NSArray *stockprices = [NSArray arrayWithObjects:@[stock1, stock2, stock3], nil];
//is same as
NSArray *stockprices = [NSArray arrayWithObjects:[NSArray arrayWithObjects:stock1, stock2, stock3, nil], nil];
//or
NSArray *stockprices = [NSArray arrayWithObjects:[[NSArray alloc] initWithObjects:stock1, stock2, stock3, nil], nil];
因此,您基本上创建了一个数组,其第0个元素是数组,因为@[stock1,stock2,stock3]
本身创建了一个数组
相反,你应该:
NSArray *stockprices = [NSArray arrayWithObjects:stock1, stock2, stock3, nil];
或
当您这样做时:
NSArray *stockprices = [NSArray arrayWithObjects:@[stock1, stock2, stock3], nil];
//is same as
NSArray *stockprices = [NSArray arrayWithObjects:[NSArray arrayWithObjects:stock1, stock2, stock3, nil], nil];
//or
NSArray *stockprices = [NSArray arrayWithObjects:[[NSArray alloc] initWithObjects:stock1, stock2, stock3, nil], nil];
因此,您基本上创建了一个数组,其第0个元素是数组,因为@[stock1,stock2,stock3]
本身创建了一个数组
相反,你应该:
NSArray *stockprices = [NSArray arrayWithObjects:stock1, stock2, stock3, nil];
或
您正在使用代码在此处创建一个数组数组:
NSArray *stockprices = [NSArray arrayWithObjects:@[stock1,stock2,stock3], nil];
你可以简单地写:
NSArray *stockprices = @[stock1,stock2,stock3];
您正在使用代码在此处创建一个数组数组:
NSArray *stockprices = [NSArray arrayWithObjects:@[stock1,stock2,stock3], nil];
你可以简单地写:
NSArray *stockprices = @[stock1,stock2,stock3];
您正在使用代码在此处创建一个数组数组:
NSArray *stockprices = [NSArray arrayWithObjects:@[stock1,stock2,stock3], nil];
你可以简单地写:
NSArray *stockprices = @[stock1,stock2,stock3];
您正在使用代码在此处创建一个数组数组:
NSArray *stockprices = [NSArray arrayWithObjects:@[stock1,stock2,stock3], nil];
你可以简单地写:
NSArray *stockprices = @[stock1,stock2,stock3];
您正在数组中使用数组;父数组有一个对象,子数组有三个库存对象。如果您将获得[parentArray objectAtIndex:0];它会正常工作;但是如果您要执行[parentArray objectAtIndex:1];应用程序将崩溃,因为父数组只有一个对象。
它可以帮助您调查问题。您正在数组中使用数组;父数组有一个对象,子数组有三个库存对象。如果您将获得[parentArray objectAtIndex:0];它会正常工作;但是如果您要执行[parentArray objectAtIndex:1];应用程序将崩溃,因为父数组只有一个对象。
它可以帮助您调查问题。您正在数组中使用数组;父数组有一个对象,子数组有三个库存对象。如果您将获得[parentArray objectAtIndex:0];它会正常工作;但是如果您要执行[parentArray objectAtIndex:1];应用程序将崩溃,因为父数组只有一个对象。
它可以帮助您调查问题。您正在数组中使用数组;父数组有一个对象,子数组有三个库存对象。如果您将获得[parentArray objectAtIndex:0];它会正常工作;但是如果您要执行[parentArray objectAtIndex:1];应用程序将崩溃,因为父数组只有一个对象。
这可能有助于您调查问题。也许可以解释差异?这比仅仅说“用这个代码替换你的代码”更有用。@[stock1,stock2,stock3]已经创建了一个数组。他写道,这与[NSArray arrayWithObjects:stock1、stock2、stock3、nil]相同@[]是NSArray的新Objective-C文字。也许可以解释一下区别?这比仅仅说“用这个代码替换你的代码”更有用。@[stock1,stock2,stock3]已经创建了一个数组。他写道,这与[NSArray arrayWithObjects:stock1、stock2、stock3、nil]相同@[]是NSArray的新Objective-C文字。也许可以解释一下区别?这比仅仅说“用这个代码替换你的代码”更有用。@[stock1,stock2,stock3]已经创建了一个数组。他写道,这与[NSArray arrayWithObjects:stock1、stock2、stock3、nil]相同@[]是NSArray的新Objective-C文字。也许可以解释一下区别?这比仅仅说“用这个代码替换你的代码”更有用。@[stock1,stock2,stock3]已经创建了一个数组。他写道,这与[NSArray arrayWithObjects:stock1、stock2、stock3、nil]相同@[]是NSArray的新Objective-C文字。您正在使用
NSArray
创建一个NSArray
,而不是“股票价格”,请参见下文@mixel的解决方案您正在使用NSArray
创建一个NSArray
,而不是“股票价格”,请参见下文@mixel的解决方案您正在使用NSArray
创建一个NSArray
,非“股票价格”见下文@mixel的解决方案您正在使用NSArray
创建NSArray
,非“股票价格”见下文@mixel的解决方案