Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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
Objective c 我的动画会在设备上崩溃,但不会在模拟器中崩溃_Objective C_Xcode_Ipad_Animation - Fatal编程技术网

Objective c 我的动画会在设备上崩溃,但不会在模拟器中崩溃

Objective c 我的动画会在设备上崩溃,但不会在模拟器中崩溃,objective-c,xcode,ipad,animation,Objective C,Xcode,Ipad,Animation,嗨,我是一个试图组装iPad应用程序的noob。在模拟器上运行平稳,但在设备上运行不平稳。我有五个视图控制器,这是第五个,尤其是在运行怪物动画时 我在这里发布的代码从该视图控制器。请不要笑 它还说它收到了内存警告。怎么了 谢谢大家 import "FifthViewController.h" #import "ViewController.h" @interface FifthViewController () @end @implementation FifthViewControl

嗨,我是一个试图组装iPad应用程序的noob。在模拟器上运行平稳,但在设备上运行不平稳。我有五个视图控制器,这是第五个,尤其是在运行怪物动画时

我在这里发布的代码从该视图控制器。请不要笑

它还说它收到了内存警告。怎么了

谢谢大家

import "FifthViewController.h"
#import "ViewController.h"



@interface FifthViewController ()

@end

@implementation FifthViewController


@synthesize doorImage;

@synthesize flagImage;

@synthesize kuckuImage;

@synthesize treImage;

@synthesize moppImage;


-(IBAction)trollljud:(id)sender{ 
    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"trolleri3", CFSTR ("mp3"), NULL);
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); }

-(IBAction)monsterljud:(id)sender{ 
    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Monsterljud", CFSTR ("mp3"), NULL);
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); }

-(IBAction)dorrljud:(id)sender{ 
    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"dörrljud", CFSTR ("mp3"), NULL);
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); }

-(IBAction)kuckuljud:(id)sender{ 
    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Fun24", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); }

-(IBAction)flaggljud:(id)sender{ 
    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Flag1", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); }

-(IBAction)change:(id)sender{
    ViewController *two = [[ViewController alloc] initWithNibName:nil bundle:nil];
    two.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [self presentModalViewController:two  animated:YES];
    [theAudio stop];
    [two release];

}


-(IBAction)hideButton

{
    Button2.hidden=FALSE; }

-(IBAction)hideButton2

{
    Button3.hidden=TRUE; }


- (void) openDoor {
    [doorImage startAnimating]; }

- (void) kucku {
    [kuckuImage startAnimating]; }

- (void) flag {
    [flagImage startAnimating]; }

- (void) tre {
    [treImage startAnimating]; }

- (void) mopp {
    [moppImage startAnimating]; }


-(IBAction)oneFingerSwipeLeft:(UITapGestureRecognizer *)recognizer {

    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Droid2", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef);
     }

-(IBAction)oneFingerSwipeRight:(UITapGestureRecognizer *)recognizer {

    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Droid", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef);
     }

-(IBAction)oneFingerSwipeUp:(UITapGestureRecognizer *)recognizer {

    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Wolf2", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef);
     }

-(IBAction)oneFingerSwipeDown:(UITapGestureRecognizer *)recognizer {

    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Snake2", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef);
     }



- (void)viewDidLoad{

    {
        [super viewDidLoad];

        UISwipeGestureRecognizer *oneFingerSwipeLeft = [[[UISwipeGestureRecognizer alloc] 
                                                         initWithTarget:self 
                                                         action:@selector(oneFingerSwipeLeft:)] autorelease];
        [oneFingerSwipeLeft setDirection:UISwipeGestureRecognizerDirectionLeft];
        [[self view] addGestureRecognizer:oneFingerSwipeLeft];

        UISwipeGestureRecognizer *oneFingerSwipeRight = [[[UISwipeGestureRecognizer alloc] 
                                                          initWithTarget:self 
                                                          action:@selector(oneFingerSwipeRight:)] autorelease];
        [oneFingerSwipeRight setDirection:UISwipeGestureRecognizerDirectionRight];
        [[self view] addGestureRecognizer:oneFingerSwipeRight];

        UISwipeGestureRecognizer *oneFingerSwipeUp = [[[UISwipeGestureRecognizer alloc] 
                                                       initWithTarget:self 
                                                       action:@selector(oneFingerSwipeUp:)] autorelease];
        [oneFingerSwipeUp setDirection:UISwipeGestureRecognizerDirectionUp];
        [[self view] addGestureRecognizer:oneFingerSwipeUp];

        UISwipeGestureRecognizer *oneFingerSwipeDown = [[[UISwipeGestureRecognizer alloc] 
                                                         initWithTarget:self 
                                                         action:@selector(oneFingerSwipeDown:)] autorelease];
        [oneFingerSwipeDown setDirection:UISwipeGestureRecognizerDirectionDown];
        [[self view] addGestureRecognizer:oneFingerSwipeDown];



    }


    {
        [super viewDidLoad];

        [Button2 setHidden:TRUE];
    }

    {
        NSString *path = [[NSBundle mainBundle] pathForResource:@"Okenljud" ofType:@"mp3"];
        if (theAudio) [theAudio release];
        {
            theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
            [theAudio play];
            theAudio.numberOfLoops = -1;
        }
        [super viewDidLoad];
    }
    {
        [super viewDidLoad];
        NSArray *doorFrames = [NSArray array];
        doorFrames = [[NSArray alloc] initWithObjects:
                      [UIImage imageNamed:@"dörr51.png"],
                      [UIImage imageNamed:@"dörr51.png"],
                      [UIImage imageNamed:@"dörr52.png"],          
                      [UIImage imageNamed:@"dörr53.png"],
                      [UIImage imageNamed:@"dörr54.png"],
                      [UIImage imageNamed:@"dörr55.png"],
                      [UIImage imageNamed:@"dörr56.png"],
                      [UIImage imageNamed:@"dörr57.png"], Nil];
        doorImage.animationImages = doorFrames;
        doorImage.animationDuration = 3;
        doorImage.animationRepeatCount = 1;
    }


    {
        [super viewDidLoad];
        NSArray *kuckuFrames = [NSArray array];
        kuckuFrames = [[NSArray alloc] initWithObjects:
                       [UIImage imageNamed:@"Kuckuhh1.png"],
                       [UIImage imageNamed:@"Kuckuhh2.png"],
                       [UIImage imageNamed:@"Kuckuhh3.png"],          
                       [UIImage imageNamed:@"Kuckuhh2.png"],
                       [UIImage imageNamed:@"Kuckuhh1.png"], Nil];
        kuckuImage.animationImages = kuckuFrames;
        kuckuImage.animationDuration = 1;
        kuckuImage.animationRepeatCount = 1;
    }

    {
        [super viewDidLoad];
        NSArray *moppFrames = [NSArray array];
        moppFrames = [[NSArray alloc] initWithObjects:
                         [UIImage imageNamed:@"m1.png"],
                         [UIImage imageNamed:@"m2.png"],
                         [UIImage imageNamed:@"m3.png"],
                         [UIImage imageNamed:@"monster15.png"],
                         [UIImage imageNamed:@"monster16.png"],
                         [UIImage imageNamed:@"monster17.png"],
                         [UIImage imageNamed:@"m4.png"],
                         [UIImage imageNamed:@"monster18.png"],
                         [UIImage imageNamed:@"monster19.png"],
                         [UIImage imageNamed:@"m5.png"],
                         [UIImage imageNamed:@"m6.png"],
                         [UIImage imageNamed:@"m7.png"],
                         [UIImage imageNamed:@"m8.png"],
                         [UIImage imageNamed:@"m9.png"],
                         [UIImage imageNamed:@"m10.png"],
                         [UIImage imageNamed:@"m11.png"],
                         [UIImage imageNamed:@"m12.png"],
                         [UIImage imageNamed:@"m13.png"],
                         [UIImage imageNamed:@"m14.png"],
                         [UIImage imageNamed:@"monster20.png"],
                         [UIImage imageNamed:@"monster21.png"],
                         [UIImage imageNamed:@"monster22.png"],
                         [UIImage imageNamed:@"monster23.png"],
                         [UIImage imageNamed:@"monster24.png"],
                         [UIImage imageNamed:@"monster25.png"],
                         [UIImage imageNamed:@"monster26.png"], Nil];
        moppImage.animationImages = moppFrames;
        moppImage.animationDuration = 19;
        moppImage.animationRepeatCount = 1;
    }


    {
        [super viewDidLoad];
        NSArray *fagelBilder = [NSArray array];
        fagelBilder = [[NSArray alloc] initWithObjects:
                       [UIImage imageNamed:@"1.png"],
                       [UIImage imageNamed:@"2.png"],
                       [UIImage imageNamed:@"3.png"],
                       [UIImage imageNamed:@"4.png"],
                       [UIImage imageNamed:@"5.png"],
                       [UIImage imageNamed:@"6.png"],
                       [UIImage imageNamed:@"7.png"],
                       [UIImage imageNamed:@"8.png"],
                       [UIImage imageNamed:@"9.png"],
                       [UIImage imageNamed:@"10.png"],
                       [UIImage imageNamed:@"11.png"],
                       [UIImage imageNamed:@"12.png"],
                       [UIImage imageNamed:@"13.png"],
                       [UIImage imageNamed:@"14.png"],
                       [UIImage imageNamed:@"15.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"16.png"],
                       [UIImage imageNamed:@"17.png"],
                       [UIImage imageNamed:@"18.png"],
                       [UIImage imageNamed:@"19.png"], 
                       [UIImage imageNamed:@"20.png"],
                       [UIImage imageNamed:@"21.png"],
                       [UIImage imageNamed:@"22.png"],
                       [UIImage imageNamed:@"23.png"],
                       [UIImage imageNamed:@"24.png"],
                       [UIImage imageNamed:@"25.png"],
                       [UIImage imageNamed:@"26.png"],
                       [UIImage imageNamed:@"27.png"],
                       [UIImage imageNamed:@"28.png"],
                       [UIImage imageNamed:@"29.png"],
                       [UIImage imageNamed:@"30.png"],
                       [UIImage imageNamed:@"31.png"],
                       [UIImage imageNamed:@"32.png"],
                       [UIImage imageNamed:@"33.png"],
                       [UIImage imageNamed:@"38.png"],
                       [UIImage imageNamed:@"14.png"],
                       [UIImage imageNamed:@"13.png"],
                       [UIImage imageNamed:@"12.png"],
                       [UIImage imageNamed:@"11.png"],
                       [UIImage imageNamed:@"10.png"],
                       [UIImage imageNamed:@"9.png"],
                       [UIImage imageNamed:@"8.png"],
                       [UIImage imageNamed:@"7.png"],
                       [UIImage imageNamed:@"6.png"],
                       [UIImage imageNamed:@"5.png"],
                       [UIImage imageNamed:@"4.png"],
                       [UIImage imageNamed:@"3.png"],
                       [UIImage imageNamed:@"2.png"],
                       [UIImage imageNamed:@"1.png"], Nil];
        treImage.animationImages = fagelBilder;
        treImage.animationDuration = 10;
        treImage.animationRepeatCount = 1;
    }

    {
        [super viewDidLoad];
        NSArray *flagbilder = [NSArray array];
        flagbilder = [[NSArray alloc] initWithObjects:
                       [UIImage imageNamed:@"F1.png"],
                       [UIImage imageNamed:@"f2.png"],
                       [UIImage imageNamed:@"f3.png"],
                       [UIImage imageNamed:@"f4.png"],
                       [UIImage imageNamed:@"f5.png"],
                       [UIImage imageNamed:@"f6.png"],
                       [UIImage imageNamed:@"f7.png"],
                       [UIImage imageNamed:@"f8.png"],
                       [UIImage imageNamed:@"f9.png"],
                       [UIImage imageNamed:@"f10.png"],
                       [UIImage imageNamed:@"f11.png"],
                       [UIImage imageNamed:@"f12.png"],
                       [UIImage imageNamed:@"f13.png"],
                       [UIImage imageNamed:@"f14.png"],
                       [UIImage imageNamed:@"f15.png"],
                       [UIImage imageNamed:@"f16.png"],
                       [UIImage imageNamed:@"f17.png"],
                       [UIImage imageNamed:@"f18.png"],
                       [UIImage imageNamed:@"f19.png"], 
                       [UIImage imageNamed:@"f20.png"],
                       [UIImage imageNamed:@"f21.png"],
                       [UIImage imageNamed:@"f20.png"],
                       [UIImage imageNamed:@"f22.png"],
                       [UIImage imageNamed:@"f20.png"],
                       [UIImage imageNamed:@"f23.png"],
                       [UIImage imageNamed:@"f20.png"],
                       [UIImage imageNamed:@"f22.png"],
                       [UIImage imageNamed:@"f20.png"],
                       [UIImage imageNamed:@"f23.png"],
                       [UIImage imageNamed:@"f20.png"],
                       [UIImage imageNamed:@"f22.png"],
                       [UIImage imageNamed:@"f20.png"],
                       [UIImage imageNamed:@"f23.png"],
                       [UIImage imageNamed:@"f20.png"],
                       [UIImage imageNamed:@"f24.png"],
                       [UIImage imageNamed:@"f25.png"],
                       [UIImage imageNamed:@"f26.png"],
                       [UIImage imageNamed:@"f27.png"],
                       [UIImage imageNamed:@"f28.png"],
                       [UIImage imageNamed:@"f29.png"],
                       [UIImage imageNamed:@"f30.png"],
                       [UIImage imageNamed:@"f31.png"],
                       [UIImage imageNamed:@"f32.png"],
                       [UIImage imageNamed:@"f33.png"],
                       [UIImage imageNamed:@"f34.png"],
                       [UIImage imageNamed:@"f35.png"],
                       [UIImage imageNamed:@"f36.png"],
                       [UIImage imageNamed:@"f37.png"],
                       [UIImage imageNamed:@"f38.png"], Nil];
        flagImage.animationImages = flagbilder;
        flagImage.animationDuration = 15;
        flagImage.animationRepeatCount = 1;
    }


}

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

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); }

@end

如果您收到内存警告,可能应用程序没有崩溃,而是因为内存使用过度而被杀死

你可以在你的课堂上的某个地方有内存泄漏,或者只是对那个设备要求太高

你的课很长,所以我无法深入探究,寻找漏洞。但是在Xcode中有一个功能可以自动分析代码中的问题

只需从菜单中选择:产品->分析


您将收到可能出现的问题列表,只需检查每个问题是否存在未发布的对象。

您有内存问题。模拟器拥有计算机的全部内存资源,远远超过任何iPhone或iPad

看起来您试图一次加载太多的图像。您可能需要使用更小的图像或更少的图像,或者将动画方法更改为更为随需应变的类型


还有一个更次要的问题。对于像您这样重复的代码,请使用“For”语句和“stringWithFormat”。这会把它减少到几行

好的,谢谢你,马克托。当我分析项目时,我在AppDelegate.m中得到两个警告。此处:-(BOOL)应用程序:(UIApplication*)应用程序didFinishLaunchWithOptions:(NSDictionary*)launchOptions{self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];self.viewController=[[viewController alloc]initWithNibName:@“viewController”bundle:nil];self.window.rootViewController=self.viewController;[self.window makeKeyAndVisible];返回YES;}切换视图时似乎有问题。你知道我怎么解决吗?再次感谢。我看没有什么不对劲。你能告诉我你收到的电话和警告吗?