-1

本当にあなたが私を助けることができることを願っています!サブビューに奇妙な問題があります。サブビューの1つで単純なIBActionを実行しようとしていますが、ボタンをクリックするとすぐにメモリエラーが発生します。プロパティに追加してボタンを合成してみました。

水平スクロール用に1つのスクロールビューを取得し、垂直スクロール用にサブビューを追加しました。2番目のサブビューには、ボタンが立っているビューコントローラーがあります。

そのボタンをクリックすると、BADACCESSエラーが発生します。NSZombieは私にこのエラーを与えます:

2012-04-05 14:26:06.924 SlideAppTest [44978:f803] * -[SubSlide1Hoofdstuk3 PerformSelector:withObject:withObject:]:割り当て解除されたインスタンス0x6c4bfe0に送信されたメッセージ

これは私のコードです:

// RootSlideHoofdstuk3.h(垂直スクロール)

#import <UIKit/UIKit.h>

@interface RootSlideHoofdstuk3 : UIViewController
<UIScrollViewDelegate>
{

}
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;

@end

// RootSlideHoofdstuk3.m(垂直スクロール)

#import "RootSlideHoofdstuk3.h"
#import "SubSlide1Hoofdstuk3.h"

@implementation RootSlideHoofdstuk3
@synthesize scrollView = _scrollView;

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    _scrollView.pagingEnabled = YES;
    _scrollView.contentSize = CGSizeMake(_scrollView.frame.size.width,_scrollView.frame.size.height);
    _scrollView.showsHorizontalScrollIndicator = NO;
    _scrollView.showsVerticalScrollIndicator = NO;
    _scrollView.scrollsToTop = NO;    
    _scrollView.bounces = NO;
    _scrollView.delegate = self;

    SubSlide1Hoofdstuk3 *subslide1 = [[SubSlide1Hoofdstuk3 alloc] init];
    CGRect frame = self.view.frame;
    frame.origin.x = 0;
    frame.origin.y = 0;
    subslide1.view.frame = frame;
    [_scrollView addSubview:subslide1.view]; 
}

// SubSlide1Hoofdstuk3.h(スライドビューコントローラー)

#import <UIKit/UIKit.h>

@interface SubSlide1Hoofdstuk3 : UIViewController {
    UIButton *button;
}

@property (nonatomic, retain) IBOutlet UIButton *button;

@end

// SubSlide1Hoofdstuk3.m(スライドビューコントローラー)

#import "SubSlide1Hoofdstuk3.h"

@implementation SubSlide1Hoofdstuk3
@synthesize button = _button;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

}

-(IBAction)buttonActie {
    NSLog(@"Button clicked!");
}

- (void)viewDidUnload
{
    [super viewDidUnload];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}
4

1 に答える 1

0

問題は UIButton ではなく、UIScrollView にあるようです。プロパティが弱いと宣言されています。それは強いはずです(または、ARCを使用しようとしていない場合は保持します)

于 2012-04-05T13:35:20.793 に答える