Ale*_*dro 1 cocoa-touch objective-c ios
我收到此错误:
exc_bad_access (code=1, address=0x2012
Run Code Online (Sandbox Code Playgroud)
当我尝试以这种方式从单身人士那里收到一个值时:
Draggable* sharedSingleton = [Draggable sharedManagerDraggable];
NSLog(@"%@", sharedSingleton.namePassedToDraggable);
Run Code Online (Sandbox Code Playgroud)
上面的代码放在UIImageView类型的Draggable.m中,它还具有:
+ (Draggable *)sharedManagerDraggable
{
static Draggable *sharedManagerDraggable = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedManagerDraggable = [[Draggable alloc] init];
});
return sharedManagerDraggable;
}
Run Code Online (Sandbox Code Playgroud)
我以这种方式为namePassedToDraggable赋值(从视图controller.m):
#import Draggable.h
Draggable* sharedSingleton = [Draggable sharedManagerDraggable];
sharedSingleton.namePassedToDraggable = txt.text;
NSLog(@"%@", sharedSingleton.namePassedToDraggable);
dragger.tag = img.tag;
Run Code Online (Sandbox Code Playgroud)
在Draggable.h我有:
+ (Draggable *) sharedManagerDraggable;
@property (nonatomic, assign) NSString* namePassedToDraggable;
Run Code Online (Sandbox Code Playgroud)
为什么我会收到导致应用崩溃的错误?我在其他viewcontorllers中使用相同的方法,它工作得很好!
小智 11
@property (nonatomic, assign) NSString* namePassedToDraggable;
Run Code Online (Sandbox Code Playgroud)
应该
@property (nonatomic, strong) NSString* namePassedToDraggable;
Run Code Online (Sandbox Code Playgroud)
如果属性不是strong,则不会保留它,并且在您分配它的函数范围的末尾释放它.
| 归档时间: |
|
| 查看次数: |
5414 次 |
| 最近记录: |