Objective c exc\u错误访问(代码=1,地址=0x2012

Objective c exc\u错误访问(代码=1,地址=0x2012,objective-c,ios,cocoa-touch,Objective C,Ios,Cocoa Touch,我得到这个错误: exc_bad_access (code=1, address=0x2012 当我尝试以这种方式从单例接收值时: Draggable* sharedSingleton = [Draggable sharedManagerDraggable]; NSLog(@"%@", sharedSingleton.namePassedToDraggable); 上面的代码放在UIImageView类型的Draggable.m中,它还具有: + (Draggable *)sharedMa

我得到这个错误:

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;
}
我以这种方式(从view controller.m)为NamePassedToDragable分配一个值:

在Draggable.h中,我有:

+ (Draggable *) sharedManagerDraggable;

@property (nonatomic, assign) NSString* namePassedToDraggable;
为什么会出现导致应用程序崩溃的错误?我在其他ViewController中使用了相同的方法,而且效果很好

@property (nonatomic, assign) NSString* namePassedToDraggable;
应该是

@property (nonatomic, strong) NSString* namePassedToDraggable;
如果该属性不是
strong
,则不会保留该属性,并在分配该属性的函数范围结束时释放该属性

应该是

@property (nonatomic, strong) NSString* namePassedToDraggable;

如果属性不是
strong
,则它不会被保留,并且会在分配它的函数范围结束时释放。

@property(非原子,分配)
应该是
@property(非原子,强)
…我使用assign传递数字,它可以工作,但我会尝试strong我不认为
NSString*
指的是数字…-。-“发布答案,我会投票给你
@property(非原子,assign)
应该是
@property(非原子,强)
…我使用赋值来传递数字,但我会尝试strong我不认为
NSString*
指的是数字…-。-“发布答案,我会投票给你谢谢!再5个字符谢谢!再5个字符