0

fastpdfkit には、このようなデリゲート宣言があります

@interface BookmarkViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {

//Delegate to get the current page and tell to show a certain page. It can also be used to
//  get a list of bookmarks for the current document. 

NSObject<BookmarkViewControllerDelegate> *delegate; 
 }

@property (nonatomic, assign) NSObject<BookmarkViewControllerDelegate> *delegate;

@synthesize delegate;

ARCを使用しているので、デリゲートの宣言は次のようになります

@interface BookmarkViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {

 id __unsafe_unretained <BookmarkViewControllerDelegate> delegate;
 }

@property (unsafe_unretained) id <BookmarkViewControllerDelegate> delegate;

 @synthesize delegate;

デバッグするときの正しい原因はありますか

 currentPage    NSUInteger  0
delegate    objc_object *   0x00000000
4

1 に答える 1

5

Heres a pattern to follow. The delegate is properly declared weak (an object but with no transfer of ownership or increase in retain count).

@protocol MyClassDelegate;

@interface MyClass : NSObject

@property(weak, nonatomic) id<MyClassDelegate>delegate;

@end

@protocol MyClassDelegate <NSObject>

- (void)myClass:(MyClass *)myClass didSomethingAtTime:(NSDate *)time;
- (CGSize)sizeofSomethingNeededByMyClass:(MyClass *)myClass;

// and so on

@end
于 2013-08-17T22:16:27.517 に答える