标签: nsinteger

将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
查看次数

将int与int的Obj-C数组进行比较

我如何看看我的整数是否在整数数组中...

例如,我想知道7是否在[1 3 4 5 6 7 8]的数组中

有任何想法吗?

谢谢

nsarray nsinteger iphone-sdk-3.0

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

如果与NSinteger一起使用?

我想在我的代码中使用NSinteger变量*强度如果条件,但它不起作用.. :(

if(strength == 11){
}
Run Code Online (Sandbox Code Playgroud)

我如何使用NSInteger*

iphone objective-c nsinteger

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

将视图的NSinteger属性设置为NSInteger?

我正在尝试在视图上设置一个变量,我正准备加载.下面是设置它的代码:

 NSInteger amountOfQuestions = [self.questions.text intValue];
    Timer_ViewController *tvc = [[Timer_ViewController alloc] initWithNibName:@"Timer_ViewController" bundle:nil];

    tvc.amountOfQuestions = &amountOfQuestions;
Run Code Online (Sandbox Code Playgroud)

这是@interface Timer_ViewController:

@interface Timer_ViewController : UIViewController
{
    NSInteger amountOfQuestions;
}

    @property (nonatomic) NSInteger *amountOfQuestions;



@end
Run Code Online (Sandbox Code Playgroud)

我对Objective-c相对较新,因此可以理解明显的设计缺陷.

properties objective-c nsinteger

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

将NSInteger转换为NSString作为5位数字

我有一个int,我将它转换为NSString,如下所示:

NSString *myStr = [NSString stringWithFormat:@"%d",myInt];
Run Code Online (Sandbox Code Playgroud)

myInt的范围是0到99999.我想要的是将myStr作为5位数字.

例如:00072或09856或00002

谢谢.

objective-c nsstring nsinteger stringwithformat

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

单击添加错误编号的按钮,向变量添加+1

我是Objective-c的新手,可能很容易解决,但无法在任何地方找到答案....

每次用户点击按钮时,我都会尝试为变量添加+1,但不是添加+1,而是添加+4

- (IBAction)addNewSet:(UIButton *)sender {
    NSLog(@"%i",_sliderTag);
    _sliderTag += 1;
   NSLog(@"ADD NEW    %i",_sliderTag);
}
Run Code Online (Sandbox Code Playgroud)

_sliderTag已经是NSInteger:

@property (nonatomic,assign) NSInteger* sliderTag;
Run Code Online (Sandbox Code Playgroud)

第一次NSLog打印0和第二次打印后执行打印4.谁有人解释为什么?它是打印0第一个,因为此变量的点是设置标签的计数器.

objective-c nsinteger ios

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

将NSInteger和NSString转换为字节数组

我需要将NSInteger和NSString表示为字节数组.以下是我要找的样本.

对于如何,这种编码工作得很好.我想通过代码来做到这一点.任何线索.

首先,NSInteger为Hex的字节:

NSInteger test = 1;
unsigned char byte[] = { 0x00, 0x01 };

NSInteger test = 16;
unsigned char byte[] = { 0x00, 0x10 };
NSData *data = [NSData dataWithBytes:byte length:sizeof(byte)];
Run Code Online (Sandbox Code Playgroud)

二,NSString为十六进制字节:

NSString *test = @"31C5B562-BD07-4616-BCBD-130BA6822790";
unsigned char byte[] = {0x31, 0xC5, 0xB5, 0x62, 0xBD, 0x07, 0x46, 0x16, 0xBC, 0xBD, 0x13, 0x0B, 0xA6, 0x82, 0x27, 0x90};
NSData *data = [NSData dataWithBytes:byte length:sizeof(byte)];
Run Code Online (Sandbox Code Playgroud)

我尝试使用下面的代码,它适用于我的UUID但是为了使NSInteger工作,我需要发送"0010"而不是16和"0001"而不是1.所以任何关于如何进行此转换的线索.

- (NSData *)hexData {
    NSMutableData *hexData = [NSMutableData data];
    int idx = 0;

    for (idx …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c nsstring nsinteger ios

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

iOS:NSInteger和NSUInteger比较

惊喜!

我有一个像这样的变量,

NSInteger index = 0;
Run Code Online (Sandbox Code Playgroud)

我正在将它与其中一个子视图count(返回NSUInteger)进行比较,

if((index-1) <= [[currentmonth subviews] count]) 
{
    NSLog(@"true");
}
else
{
    NSLog(@"false");
}
Run Code Online (Sandbox Code Playgroud)

这总是假的.

但如果我这样做,

if ((index-1) <= 42) {
    NSLog(@"true");
} else {
    NSLog(@"false");
}
Run Code Online (Sandbox Code Playgroud)

这总是给人的.

我觉得,这是因为我们无法NSIntegerNSUInteger正确比较?

当我有一个基于这种逻辑的工作解决方案时,我发现了这个问题.但它根本不是真的.

comparison objective-c nsinteger nsuinteger ios

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

在NSDictionary objectForKey中使用NSInteger作为类型id

我正在尝试indexPath.row在a中插入一个键值dictionary.当我做indexPath(没有.row)它工作正常.但是当我添加.row它时,它给了我一个错误说:

Implicit conversion of 'NSInteger' (aka 'long') to 'id' is disallowed with ARC

Incompatible integer to pointer conversion sending 'NSInteger (aka 'long') to paramater of type 'id'
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

[self.myDict objectForKey:indexPath.row];
Run Code Online (Sandbox Code Playgroud)

然后当我在它的末尾添加integerValue时,它仍然给我相同的错误.

objective-c nsdictionary nsinteger ios

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

为什么指向NSInteger的指针将该值乘以8?

在我的标题中,我声明了一些变量,@property (nonatomic) NSInteger *soldWindows;并使用它们来跟踪计数,增加_soldWindows++;.结果一直是应有的8倍.我发现我的问题是将它声明为指针,所以我把它更改为@property (nonatomic) NSInteger soldWindows;解决了我的问题.

我的问题是,如果它只是存储一个内存地址,为什么整数值按8而不是任意地址?

pointers objective-c nsinteger

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