In meiner .h-Datei habe ich dies:Unter IOS5, ARC mit, während meiner eigenen Delegierten zu schaffen, Fehler in Bezug auf _weak mit
@protocol ScanBookDelegate
- (void)MethodNameToCallBack:(NSArray *)s;
@end
@property (nonatomic, weak) id <ScanBookDelegate> delegate;
In meiner .m-Datei Ich habe:
@synthesize delegate;
I Erhalten Sie diesen Fehler:
Existing ivar 'delegate' for __weak property 'delegate' must be __weak
Wie behebe ich diesen Fehler?
Ich gebe eine NSArray *
zurück, da ich Daten von einem JSON-Ergebnis zurückgebe.
UPDATE:
Hier ist meine ganze .h-Datei -
#import <UIKit/UIKit.h>
@protocol ScanBookDelegate
- (void)MethodNameToCallBack:(NSArray *)s;
@end
@interface jabBookScan : NSObject
<NSURLConnectionDelegate, NSURLConnectionDataDelegate>
{
NSURLConnection *internalConnection;
NSMutableData *container;
id <ScanBookDelegate> delegate;
}
- (id)initWithRequest:(NSURLRequest *)req;
- (void)start;
- (NSMutableData *) lookupBook:(NSString *) isbn;
- (void)fetchedData:(NSData *)responseData;
@property (nonatomic, copy) NSURLRequest *request;
@property (nonatomic, copy) void (^completionBlock)(id obj, NSError *err);
@property (nonatomic, strong) NSDictionary *jsonRootObject;
@property NSMutableData *responseData;
@property NSURL *myURL;
@property (nonatomic, weak) id <ScanBookDelegate> delegate;
@end
Haben Sie bereits einen Delegaten definiert, sagen wir in einer Superklasse? – atticus
@atticus - Ich hatte den Eindruck, dass das Protokoll den Delegierten definiert. Die obige .h und .m Datei sind für die gleiche Klasse, wie ich auf das Protokoll in der Eigenschaft verweisen, und versuchen, es zu synthetisieren, und dann erhalte ich den Fehler. –
Es klingt wie der Fehler impliziert, dass ein Ivar als __strong erstellt wurde, und dass die Deklaration der Eigenschaft als "schwach" problematisch ist. Würde es Ihnen etwas ausmachen, die gesamte .h-Datei zu posten? – atticus