このエラーが発生します:
exc_bad_access (code=1, address=0x2012
この方法でシングルトンから値を受け取ろうとすると、次のようになります。
Draggable* sharedSingleton = [Draggable sharedManagerDraggable];
NSLog(@"%@", sharedSingleton.namePassedToDraggable);
上記のコードは、タイプUIImageViewのDraggable.mに配置されています。
+ (Draggable *)sharedManagerDraggable
{
static Draggable *sharedManagerDraggable = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedManagerDraggable = [[Draggable alloc] init];
});
return sharedManagerDraggable;
}
この方法でnamePassedToDraggableに値を割り当てます(view controller.mから):
#import Draggable.h
Draggable* sharedSingleton = [Draggable sharedManagerDraggable];
sharedSingleton.namePassedToDraggable = txt.text;
NSLog(@"%@", sharedSingleton.namePassedToDraggable);
dragger.tag = img.tag;
そしてDraggable.hで私は持っています:
+ (Draggable *) sharedManagerDraggable;
@property (nonatomic, assign) NSString* namePassedToDraggable;
アプリがクラッシュする原因となるエラーが発生するのはなぜですか?私は他のviewcontorllersでも同じ方法を使用していますが、問題なく動作します。