由於未捕獲的異常'NSRangeException'而終止應用程序,原因:'*** - [__ NSArrayI objectAtIndex:]:index 205003599 beyond bounds [0 .. 5]」我正在嘗試創建一個圖像類的數組時遇到錯誤
我寫在.h文件中的代碼
#import <Foundation/Foundation.h>
@interface image : NSObject
@property(strong,nonatomic) NSArray *myimage;
-(image *) randomimage;
@end
我實現它的.m文件
#import "image.h"
#import <UIKit/UIKit.h>
@implementation image
- (instancetype)init
{
self = [super init];
if (self) {
_myimage =[[NSArray alloc]initWithObjects:
[UIImage imageNamed:@"Earth.jpg"],
[UIImage imageNamed:@"Jupiter.jpg"],
[UIImage imageNamed:@"Orion.jpg"],
[UIImage imageNamed:@"Saturn.jpg"],
[UIImage imageNamed:@"Venus.jpg"],
[UIImage imageNamed:@"Mars.jpg"],
nil];
}
return self;
}
-(image *) randomimage{
int randimage=arc4random_uniform((int)self.myimage);
return [self.myimage objectAtIndexedSubscript:randimage];
}
@end
你會得到一個超過圖像數組邊界的索引的隨機整數。限制隨機數生成器僅生成0-5之間的數字,因爲數組中只有6個圖像。 – Zack 2015-04-02 17:26:12