Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何仅当用户是使用CaneditRowatineXpath发布评论的用户时才允许用户删除评论:_Iphone_Ios_Objective C_Uitableview - Fatal编程技术网

Iphone 如何仅当用户是使用CaneditRowatineXpath发布评论的用户时才允许用户删除评论:

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

我只想允许用户删除发表评论的用户

我正在使用canEditRowAtIndexPath:方法并尝试以下操作。包含此条件后,删除不再显示

 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;
}