objective-c,不用dot语法

在这行代码中转换一个BOOL值:

 someObject.boolValue = ![someObject boolValue];

怎么样用纯objective语法中重写这行代码,不用dot语法。

[someObject setBoolValue:![someObject boolValue]];

用NSNumber以防BOOL出现空值:

    NSNumber * currValue = [NSNumber numberWithBOOL:[someObject boolValue]];
    NSNumber * yesNum = [NSNumber numberWithBOOL:YES];
    NSNumber * noNum = [NSNumber numberWithBOOL:NO];

    if( NSOrderedSame == [currValue compare:yesNum] ){
        [someObject setBoolValue:[noNum boolValue]];
    }
    else if( NSOrderedSame == [currValue compare:noNum] ){
        [someObject setBoolValue:[yesNum boolValue]];
    }
    else {
        // 设置默认
        [someObject setBoolValue:[yesNum boolValue]];
    }