如何在obj-c中深度复制int

时间:2016-12-01 02:32:11

标签: ios objective-c int deep-copy

作为一名自学成才的程序员,我最近在使用单例数组和字典时了解了深度/浅层复制。今天我发现了另一个问题,即使是int值也需要深度复制(?)。让我来说明问题:

        $("#container").children('.row').each(function() {
            $(this).children('.cell').each(function() {
                var cell = this;
                $(cell).find('.inner').children().unwrap();
            });
        });

那我该如何深度复制这个值呢?我试过了

[[MyData singleton] car].id = -10;
int carId = [[MyData singleton] car].id;
carId = abs(carId);
NSLog(@"%d", carId);

Log says

-10.

I would expect it to be 10 but no. 

但仍然无法正常工作。帮助

1 个答案:

答案 0 :(得分:1)

我创建了一个测试APP来测试它但不能再出现你的问题,我的代码:

@interface DingTest : NSObject

@property (nonatomic, assign) int testValue;

@end

@implementation DingTest @end

@interface AppDelegate () @end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

DingTest *testClass = [[DingTest alloc]init];
testClass.testValue = -2;

int b = testClass.testValue;
b = abs(testClass.testValue);
NSLog(@"%d", testClass.testValue);
NSLog(@"%d", b);
NSLog(@"%d", abs(testClass.testValue));
NSLog(@"%d", abs(b));

return YES;

}

我的日志: -2 2 2 2

你可以复制&粘贴它来测试它

您使用'assign'或其他关键字吗?