Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 我如何让Xcode随机化图片?_Iphone_Objective C_Cocoa Touch_Image_Random - Fatal编程技术网

Iphone 我如何让Xcode随机化图片?

Iphone 我如何让Xcode随机化图片?,iphone,objective-c,cocoa-touch,image,random,Iphone,Objective C,Cocoa Touch,Image,Random,因此,我一直在互联网上搜索各种方法,随机选择并显示一幅图像。到目前为止,我的.m viewcontroller中有以下内容: #import "classgenViewController.h" @implementation classgenViewController @synthesize images, randomStrings; - (void)viewDidLoad { [super viewDidLoad]; self.randomStrings = [NSA

因此,我一直在互联网上搜索各种方法,随机选择并显示一幅图像。到目前为止,我的.m viewcontroller中有以下内容:

#import "classgenViewController.h"

@implementation classgenViewController
@synthesize images, randomStrings;

- (void)viewDidLoad {
    [super viewDidLoad];
    self.randomStrings = [NSArray arrayWithObjects:@"Frag.png",
                          @"Semtex.png",
                          @"Tomahawk.png",
                          nil];
}

- (IBAction)showRandomString {
     UIImageView *images = [randomStrings objectAtIndex: (arc4random() % [randomStrings count])];
}

- (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
    self.images = nil;
}

- (void)dealloc {
    [self.images release];
    [self.randomStrings release];
    [super dealloc];
}

@end

但图像显示这是一个未使用的变量。我怎么用呢。它是在my.h中声明的,我对它使用了(property,nonatomic)方法,并合成了它。帮助?

您只是分配
图像
变量,而不是实际使用它。另外-您正在创建
UIImageView
类的实例,同时为其分配实际字符串。您是否为您的
UIViewController
分配了
UIImageView
插座?如果是这样-只需按如下方式为其分配一个
UIImage

- (IBAction)showRandomString {
    NSString *randomImageFilename = [randomStrings objectAtIndex: (arc4random() % [randomStrings count])];
    UIImage *image = [UIImage imageNamed:randomImageFilename];
    uiImageViewOutlet.image = image;
}
UIImage* newImage = [UIImage imageNamed:<your random string here>];
images.image = newImage;

作为初学者,我会使用一种根本不专业的方法,但它是有效的:)

首先,在界面生成器中,添加所需的图像视图以及图像。 把它们藏起来

然后添加一个数组,其中包含引用所拥有图像的对象,然后使用

randomImage = [nameOfArray objectAtIndex:arc4random() % [nameOfArray count]];
然后添加一些if语句和单行,以显示imageView,例如:

if ([randomImage isEqual:@"image1"]) {
image1.hidden = NO;
}
我以前试过那种方法,它奏效了


祝你好运

首先你把它宣布为财产。然后通过在ShowRandomString中将其声明为局部变量来覆盖它。这个局部变量从未被使用过。要为.h文件中声明的实例变量赋值,请删除前面的“UIImageView*”

此外,您似乎希望将NSString分配给UIImageView指针。那只会以眼泪结束

也许你想做这样的事情:

- (IBAction)showRandomString {
    NSString *randomImageFilename = [randomStrings objectAtIndex: (arc4random() % [randomStrings count])];
    UIImage *image = [UIImage imageNamed:randomImageFilename];
    uiImageViewOutlet.image = image;
}
UIImage* newImage = [UIImage imageNamed:<your random string here>];
images.image = newImage;
UIImage*newImage=[UIImage-imagename:];
images.image=newImage;

其中“images”可能是在.h中设置的UIImageView*,并在Interface Builder中进行了配置。

确定我将使用的*randomImageFilename(如果我使用的是文件:image.png)*@“image.png”或什么(是的,我是初学者)