小编DJe*_*ean的帖子

将NSInteger转换为字节

我想构造一个内容为3 NSInteger类型的NSData对象,并使用以下代码:

- (void)test
{

    NSInteger i = 12, j = 2000, k = 2;

    NSMutableData *md = [NSMutableData dataWithCapacity:10];

    [md appendBytes:&i length:sizeof(i)];
    [md appendBytes:&j length:sizeof(j)];
    [md appendBytes:&k length:sizeof(k)];

    NSLog(@"data is %@",md);
}
Run Code Online (Sandbox Code Playgroud)

但是当我记录它时,它告诉我:

data is <0c000000 d0070000 02000000>
Run Code Online (Sandbox Code Playgroud)

我将这些翻译成十进制,这些数字是201326592,3490119680,33554432.所以我不知道为什么这些数字,我该怎么办?谢谢.

objective-c nsinteger ios

2
推荐指数
1
解决办法
2362
查看次数

如何在ARC中复制对象

现在它没有ARC中的复制属性,所以当我想复制一个对象时该怎么做?然后我写了一个测试代码:

test.h

@property (strong, nonatomic) NSMutableString *str1;
@property (strong, nonatomic) NSMutableString *str2;
Run Code Online (Sandbox Code Playgroud)

test.m

self.str1 = [[NSMutableString alloc] initWithString:@"Hello"];
self.str2 = [self.str1 copy];
[self.str2 appendString:@"World"];
NSLog(@"str1:%@,str2:%@",self.str1,self.str2);
Run Code Online (Sandbox Code Playgroud)

当我跑,它崩溃了:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Attempt to mutate immutable object with appendString:'
Run Code Online (Sandbox Code Playgroud)

那么,我该怎么办?

objective-c automatic-ref-counting

0
推荐指数
1
解决办法
1202
查看次数