作为一名自学成才的程序员,我最近在使用单例数组和字典时了解了深度/浅层复制。今天我发现了另一个问题,即使是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.
但仍然无法正常工作。帮助
答案 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'或其他关键字吗?