Неправильное уменьшение количества ссылок на объект, который в данный момент не принадлежит вызывающей стороне в iphone - PullRequest
1 голос
/ 23 сентября 2010

Я получаю предупреждение из памяти: «Неправильное уменьшение счетчика ссылок объекта, который в данный момент не принадлежит вызывающей стороне» для challengeCell в отмеченной строке.

myIdentifier = @"ChallengTblVwCell";    
ChallengeTableViewCell *challengeCell = (ChallengeTableViewCell *)[tableView dequeueReusableCellWithIdentifier:myIdentifier];
if( challengeCell == nil )
{
    [[ NSBundle mainBundle ] loadNibNamed:@"ChallengeTableViewCell" owner:self options:nil ];
    challengeCell = challengeTblCell; 
}

else {
//some code
}           
        challengeInstance = [genericArray objectAtIndex:indexPath.row];
        NSString *challengeTitle = challengeInstance.elecompany;

        [challengeCell initWithTitle:challengeTitle subTitle:challengeSubtitle _votes:challengeVotes content:challengeContent _time:challengeTime _image:challengeImage noComments:challengeCommentsNo]; //Warning coming at this line
        return (UITableViewCell *)challengeCell;

EDIT:

 -(id)initWithTitle:(NSString *)_title content:(NSString *)_content fromName:(NSString *)_fromName _time:(NSString *)_time_ _image:(NSString *)_image_ noComments:(NSInteger)commentsNo
 {
    //Labels are created through interface builder

[_lbltitle_ setText:_title];       
[_lbltime setText:_time_];
[lblcontent setText:_content];
[lblsubTitle setText:_fromName];
[lblnoOfComments setText:[NSString stringWithFormat:@"%d",commentsNo]];

// code for adjusting label height according to content.

return self;
}

Я создал этот отдельный класс для управления ячейкой, чтобы упростить ее манипулирование.

Может кто-нибудь помочь мне решить эту проблему?

Спасибо заранее.

1 Ответ

1 голос
/ 23 сентября 2010

Будет лучше, если вы напишите свой код для initWithTitle для этих 2 строк:

[challengeCell initWithTitle:challengeTitle subTitle:challengeSubtitle _votes:challengeVotes content:challengeContent _time:challengeTime _image:challengeImage noComments:challengeCommentsNo]; //Warning coming at this line
return (UITableViewCell *)challengeCell;

Но я предполагаю, что у вас уже есть объект challengeCell, уже выделенный и init-редакторВаш код выглядит действительно странно, если честно.Обычно то, что делают люди, будет [[UIChallengeCell alloc] initWithTitle...] не из самого экземпляра.Я думаю, что это создает вашу проблему.

Что вам нужно сделать, это установить свойство самостоятельно.

challengeCell.challengeTitle = challengeTitle;
challengeCell.subTitle = challengeSubtitle;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...