Obj-C, потенциальная утечка объекта, размещенного в сети, предупреждение?

Я объявил следующую переменную как переменную экземпляра и использую ее в моем m-файле, однако получаю предупреждение.

TransparentToolbar *tools;

Возможная утечка объекта, размещенного на линии ...

Я пытался создать для него свойство, например ..

@property (nonatomic, retain) TransparentToolbar *tools;

И синтезировать и освободить его, но мое представление вылетает в конце Dealloc.

Что я делаю не так?

ИЗМЕНИТЬ то же предупреждение для pickerSortingDataCurrent ...

h
@interface myViewController : UIViewController <UIActionSheetDelegate, 
    UIPickerViewDelegate, UIPickerViewDataSource, UITableViewDelegate, 
    UITableViewDataSource, MFMailComposeViewControllerDelegate> {

    TransparentToolbar *tools;

    NSArray *pickerSortingDataCurrent;
}
@property (nonatomic, retain) TransparentToolbar *tools;
@property (nonatomic, retain) NSArray *pickerSortingDataCurrent;

m
@synthesize pickerSortingDataCurrent;
@synthesize tools;

- (void)viewDidLoad {
    [super viewDidLoad];

    tools = [[[TransparentToolbar alloc] 
           initWithFrame:CGRectMake(0, 0, 70, 44.01)] autorelease];
    tools.barStyle = UIBarStyleBlackOpaque;

    self.pickerSortingDataCurrent = [[NSArray alloc] initWithObjects:
      @"Next Date Ascending", 
      @"Next Date Descending", nil];     // removed some items here
}

- (void)dealloc {
    [tools release];
    [pickerSortingDataCurrent release];
    [super dealloc];
}

Ааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа лет находится сборщикSortingDataCurrent ...

РЕДАКТИРОВАТЬ ...

#import "TransparentToolbar.h"

@implementation TransparentToolbar

- (void)drawRect:(CGRect)rect {
    // do nothing in here
}

- (void) applyTranslucentBackground
{
    self.backgroundColor = [UIColor clearColor];
    self.opaque = NO;
    self.translucent = YES;
}

- (id) init
{
    self = [super init];
    [self applyTranslucentBackground];
    return self;
}

// Override initWithFrame.
- (id) initWithFrame:(CGRect) frame
{
    self = [super initWithFrame:frame];
    [self applyTranslucentBackground];
    return self;
}

@end

ДАЛЬНЕЙШЕЕ РЕДАКТИРОВАНИЕ enter image description here

0
задан Jules 13 November 2011 в 12:39
поделиться