Iphone 如何仅当用户是使用CaneditRowatineXpath发布评论的用户时才允许用户删除评论:
我只想允许用户删除发表评论的用户 我正在使用canEditRowAtIndexPath:方法并尝试以下操作。包含此条件后,删除不再显示Iphone 如何仅当用户是使用CaneditRowatineXpath发布评论的用户时才允许用户删除评论:,iphone,ios,objective-c,uitableview,Iphone,Ios,Objective C,Uitableview,我只想允许用户删除发表评论的用户 我正在使用canEditRowAtIndexPath:方法并尝试以下操作。包含此条件后,删除不再显示 if (userIdNumber == aNum) { return YES; } -(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return YES if you want the specif
if (userIdNumber == aNum) {
return YES;
}
-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
// Return YES if you want the specified item to be editable.
NSString *savedValue = [[NSUserDefaults standardUserDefaults]
stringForKey:@"userId"];
NSNumber *userIdNumber = [userId objectAtIndex:indexPath.row];
NSNumber *aNum = [NSNumber numberWithInteger: [savedValue integerValue]];
NSLog(@"savedValue is %@",savedValue);
NSLog(@"aNum is %@",aNum);
NSLog(@"userIdNumber is %@",userIdNumber);
if (userIdNumber == aNum) {
return YES;
}
else {
return NO;
}
}
正如@Hot-Licks所暗示的,执行Objective-C对象的比较需要的不仅仅是比较它们的指针值;您需要使用以下方法:
(如果对象是
NSString
,则需要使用)。我认为您正在使用==运算符来比较两个nsnumber。使用如下方法比较两个数字
if([userIdNumber isEqualToNumber:aNum]){return YES;
}else{
return NO;
}
如果([userIdNumber isEqualToNumber:aNum]){
返回是;
否则{
返回否;
使用
=
比较两个NSNumber是个坏主意。你知道为什么吗?(提示:为什么用==
来比较两个NSString是个坏主意?)
if([userIdNumber isEqualToNumber:aNum]){return YES;
}else{
return NO;
}