English 中文(简体)
协议上的内存管理
原标题:memory management on Protocol

I 正在使用协议,并被泄漏, 这是我的代码 :

最佳回答

在您的 strategygyfromType 函数中

return [strategy autorelease];

当您调用此函数时使用 remain

GMGridViewLayoutStrategy *strat = [[YourClassName strategyFromType:yourType] retain];

使用 strat 变量后

[strat release];
问题回答
-(id<GMGridViewLayoutStrategy>)strategyFromType:(GMGridViewLayoutStrategyType)type
{id<GMGridViewLayoutStrategy> strategy = nil;

switch (type) {
    case GMGridViewLayoutVertical:
        strategy = [[GMGridViewLayoutVerticalStrategy alloc] init];
        break;
    case GMGridViewLayoutHorizontal:
        strategy = [[GMGridViewLayoutHorizontalStrategy alloc] init];
        break;
    case GMGridViewLayoutHorizontalPagedLTR:
        strategy = [[GMGridViewLayoutHorizontalPagedLTRStrategy alloc] init];
        break;
    case GMGridViewLayoutHorizontalPagedTTB:
        strategy = [[GMGridViewLayoutHorizontalPagedTTBStrategy alloc] init];
        break;
}

return [strategy autorelease];
}

在呼唤的一面..

GMGridViewLayoutStrategy *obj = [[YourClassName strategyFromType:yourType] retain];

在使用“obj”后释放。





相关问题
List Contents of Directory in a UITableView

I am trying to list the contents of Ringtones directory in a TableView, however, I am only getting the last file in the directory in ALL cells, instead of file per cell. This is my code: - (...

iPhone NSUserDefaults persistance difficulty

In my app i have a bunch of data i store in the NSUserdefaults. This information consists of an NSObject (Object1) with NSStrings and NSNumbers and also 2 instances of yet another object (Object2). ...

Writing a masked image to disk as a PNG file

Basically I m downloading images off of a webserver and then caching them to the disk, but before I do so I want to mask them. I m using the masking code everyone seems to point at which can be found ...

Resize UIImage with aspect ratio?

I m using this code to resize an image on the iPhone: CGRect screenRect = CGRectMake(0, 0, 320.0, 480.0); UIGraphicsBeginImageContext(screenRect.size); [value drawInRect:screenRect blendMode:...

Allowing interaction with a UIView under another UIView

Is there a simple way of allowing interaction with a button in a UIView that lies under another UIView - where there are no actual objects from the top UIView on top of the button? For instance, ...