我正在調試應用程序,並有一個小故障。我在應用程序和互聯網上查找它,但沒有找到任何東西。iOS應用程序故障
您可以從以下
它看起來像下面爲短的時間間隔達到毛刺。
我的代碼:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.item == 0) {
HGOtherUserTopInformationCell * cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifierForTopInfoCellProfile forIndexPath:indexPath];
cell.user = [HGUser currentUser];
cell.amIFollowing = false;
cell.delegate = self;
cell.viewController = self;
return cell;
}else{
if (indexPath.item % 2 != 0) {
HGSeperatorCell * cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifierForSeperatorCellProfile forIndexPath:indexPath];
cell.backgroundColor = [UIColor lightGrayColor];
return cell;
}else{
HGActivity * activity = self.profileActivities[(indexPath.item - 2)/2];
if ([activity.activityType isEqualToString:kActivityKeyUserPublishedResponse]) {
// Response
HGResponse * response = activity.response;
if ([response.mediaType isEqualToString:@"Photo"]) {
HGOtherUserPhotoCell * cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifierForPhotoCellProfile forIndexPath:indexPath];
cell.response = response;
cell.indexPath = indexPath;
cell.baseDelegate = self;
if (userLikedResponses) {
if ([userLikedResponses containsObject:response.objectId]) {
cell.liked = true;
}else{
cell.liked = false;
}
}
cell.viewController = self;
if (joinedChallenges) {
bool joined = false;
for (HGActivity * joinedChallengeActivity in joinedChallenges) {
if ([joinedChallengeActivity.challenge.objectId isEqualToString:response.challenge.objectId]) {
joined = true;
break;
}
}
cell.joined = joined;
}else{
cell.joined = false;
}
return cell;
}else if ([response.mediaType isEqualToString:@"Video"]) {
HGOtherUserVideoCell * cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifierForVideoCellProfile forIndexPath:indexPath];
cell.response = response;
cell.indexPath = indexPath;
cell.baseDelegate = self;
if (userLikedResponses) {
if ([userLikedResponses containsObject:response.objectId]) {
cell.liked = true;
}else{
cell.liked = false;
}
}
if (indexPath.item == 2) {
[cell playMuted];
}
cell.viewController = self;
if (joinedChallenges) {
bool joined = false;
for (HGActivity * joinedChallengeActivity in joinedChallenges) {
if ([joinedChallengeActivity.challenge.objectId isEqualToString:response.challenge.objectId]) {
joined = true;
break;
}
}
cell.joined = joined;
}else{
cell.joined = false;
}
return cell;
}else{
HGOtherUserMedialessCell * cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifierForMedialessCellProfile forIndexPath:indexPath];
cell.response = response;
cell.indexPath = indexPath;
cell.baseDelegate = self;
if (userLikedResponses) {
if ([userLikedResponses containsObject:response.objectId]) {
cell.liked = true;
}else{
cell.liked = false;
}
}
cell.viewController = self;
if (joinedChallenges) {
bool joined = false;
for (HGActivity * joinedChallengeActivity in joinedChallenges) {
if ([joinedChallengeActivity.challenge.objectId isEqualToString:response.challenge.objectId]) {
joined = true;
break;
}
}
cell.joined = joined;
}else{
cell.joined = false;
}
return cell;
}
}else{
// Challenge
HGChallenge * challenge = activity.challenge;
if ([challenge.mediaType isEqualToString:@"Photo"]) {
HGOtherUserPhotoCell * cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifierForPhotoCellProfile forIndexPath:indexPath];
cell.challenge = challenge;
cell.indexPath = indexPath;
cell.baseDelegate = self;
if (userLikedChallenges) {
if ([userLikedChallenges containsObject:challenge.objectId]) {
cell.liked = true;
}else{
cell.liked = false;
}
}
cell.viewController = self;
if (joinedChallenges) {
bool joined = false;
for (HGActivity * joinedChallengeActivity in joinedChallenges) {
if ([joinedChallengeActivity.challenge.objectId isEqualToString:challenge.objectId]) {
joined = true;
break;
}
}
cell.joined = joined;
}else{
cell.joined = false;
}
return cell;
}else if ([challenge.mediaType isEqualToString:@"Video"]) {
HGOtherUserVideoCell * cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifierForVideoCellProfile forIndexPath:indexPath];
cell.challenge = challenge;
cell.indexPath = indexPath;
cell.baseDelegate = self;
if (userLikedChallenges) {
if ([userLikedChallenges containsObject:challenge.objectId]) {
cell.liked = true;
}else{
cell.liked = false;
}
}
if (indexPath.item == 2) {
[cell playMuted];
}
cell.viewController = self;
if (joinedChallenges) {
bool joined = false;
for (HGActivity * joinedChallengeActivity in joinedChallenges) {
if ([joinedChallengeActivity.challenge.objectId isEqualToString:challenge.objectId]) {
joined = true;
break;
}
}
cell.joined = joined;
}else{
cell.joined = false;
}
return cell;
}else{
HGOtherUserMedialessCell * cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifierForMedialessCellProfile forIndexPath:indexPath];
cell.challenge = challenge;
cell.indexPath = indexPath;
cell.baseDelegate = self;
if (userLikedChallenges) {
if ([userLikedChallenges containsObject:challenge.objectId]) {
cell.liked = true;
}else{
cell.liked = false;
}
}
cell.viewController = self;
if (joinedChallenges) {
bool joined = false;
for (HGActivity * joinedChallengeActivity in joinedChallenges) {
if ([joinedChallengeActivity.challenge.objectId isEqualToString:challenge.objectId]) {
joined = true;
break;
}
}
cell.joined = joined;
}else{
cell.joined = false;
}
return cell;
}
}
}
}
滾動後發生? –
您不是以正確的方式「重用」tableview單元格。 – rptwsthi
顯示一些代碼? –