我有以下类别:IOS为什么初始化失败时使用_variable,但不使用self.variable替换NSNumber?
---- .h文件中
#import <Foundation/Foundation.h>
#import "MapperProtocoll.h"
@interface ServiceRequest : NSObject {
}
@property (strong, nonatomic) NSString *url;
@property (strong, nonatomic) NSString *postData;
@property (strong, nonatomic) NSNumber *requestId;
@property (strong, nonatomic) id<ServiceMapperDelegate> mapper;
-(id)initWithUrl:(NSString *)url andWithPostdata:(NSString *)postData;
@end
------- .m文件
#import "ServiceRequest.h"
@implementation ServiceRequest
@synthesize url = _url, postData = _postData, requestId = _requestId, mapper = _mapper;
-(id)initWithUrl:(NSString *)url andWithPostdata:(NSString *)postData {
if (self = [super init]) {
_url = url;
_postData = postData;
self.requestId = [NSNumber numberWithInt:-1]; // HERE IS THE PROBLEM
}
return self;
}
@end
为什么 self.requestId = [NSNumber numberWithInt:-1]; 工作,但 _requestId = [NSNumber numberWithInt:-1]; 抛出运行时错误?
它抛出了什么错误? – 2012-07-27 18:34:38
尝试构建一个最小程序来隔离问题。然后,逐步添加功能,直到找到错误的来源。 – Etan 2012-07-27 18:37:30
它抛出EXC_BAD_ACCESS – CPlusPlus 2012-07-27 19:05:34