Ios 在目标C中创建负数数组

Ios 在目标C中创建负数数组,ios,objective-c,Ios,Objective C,我创建了一个正数、负数和零数的数组,但它将数组中的所有元素都视为正数。在代码中,正计数为6。如何在Objective-C中的数组中放入负数 NSInteger positiveCount = 0; NSInteger zeroCount = 0; NSInteger negativeCount = 0; NSArray *arr = [NSArray arrayWithObjects:@-4,@-3,@-9,@0,@4,@1, nil]; for (NSInteger i = 0; i &l

我创建了一个正数、负数和零数的数组,但它将数组中的所有元素都视为正数。在代码中,正计数为6。如何在Objective-C中的数组中放入负数

NSInteger positiveCount = 0;
NSInteger zeroCount = 0;
NSInteger negativeCount = 0;

NSArray *arr = [NSArray arrayWithObjects:@-4,@-3,@-9,@0,@4,@1, nil];

for (NSInteger i = 0; i < arr.count; i++){
    NSLog(@"%d",arr[i]);
    if (arr[i] > 0)
    {
        positiveCount += 1;
    } else if (arr[i] < 0){
        negativeCount += 1;
    } else {
        zeroCount += 1;
    }
}

NSLog(@"%d",positiveCount);
NSInteger positiveCount=0;
NSInteger zeroCount=0;
NSInteger negativeCount=0;
NSArray*arr=[NSArray数组,其对象为:@-4、@-3、@-9、@0、@4、@1、nil];
对于(NSInteger i=0;i0)
{
正计数+=1;
}else if(arr[i]<0){
负计数+=1;
}否则{
零计数+=1;
}
}
NSLog(@“%d”,正计数);

数组中的元素不是数字,而是
NSNumber
实例,即指针。指针总是积极的:

for (NSNumber* number in arr) {
    NSInteger intValue = number.integerValue;
    NSLog(@"%d", intValue);

    if (intValue > 0) {
        positiveCount += 1;
    } else if (intValue < 0) {
        negativeCount += 1;
    } else {
        zeroCount += 1;
    }
}
for(NSNumber*arr中的编号){
NSInteger intValue=number.integerValue;
NSLog(@“%d”,intValue);
如果(intValue>0){
正计数+=1;
}否则如果(intValue<0){
负计数+=1;
}否则{
零计数+=1;
}
}

数组中的元素不是数字,而是
NSNumber
实例,即指针。指针总是积极的:

for (NSNumber* number in arr) {
    NSInteger intValue = number.integerValue;
    NSLog(@"%d", intValue);

    if (intValue > 0) {
        positiveCount += 1;
    } else if (intValue < 0) {
        negativeCount += 1;
    } else {
        zeroCount += 1;
    }
}
for(NSNumber*arr中的编号){
NSInteger intValue=number.integerValue;
NSLog(@“%d”,intValue);
如果(intValue>0){
正计数+=1;
}否则如果(intValue<0){
负计数+=1;
}否则{
零计数+=1;
}
}

使用
EnumerateObjectsSusingBlock的解决方案的另一种方法

__block NSInteger positiveCount = 0;
__block NSInteger zeroCount = 0;
__block NSInteger negativeCount = 0;

NSArray *arr = [NSArray arrayWithObjects:@-4,@-3,@-9,@0,@4,@1, nil];

[arr enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
    NSInteger value = ((NSNumber *)obj).integerValue;
    if (value > 0) {
        positiveCount += 1;
    } else if (value < 0) {
        negativeCount += 1;
    } else {
        zeroCount += 1;
    }
}];
NSLog(@"%ld",(long)positiveCount);
\u块NSInteger正计数=0;
__块NSInteger zeroCount=0;
__块NSInteger negativeCount=0;
NSArray*arr=[NSArray数组,其对象为:@-4、@-3、@-9、@0、@4、@1、nil];
[arr enumerateObjectsUsingBlock:^(id _非空obj,整数idx,布尔*_非空停止){
NSInteger值=((NSNumber*)obj.integerValue;
如果(值>0){
正计数+=1;
}else if(值<0){
负计数+=1;
}否则{
零计数+=1;
}
}];
NSLog(@“%ld”,(长)正计数);

使用
EnumerateObjectsSusingBlock的解决方案的另一种方法

__block NSInteger positiveCount = 0;
__block NSInteger zeroCount = 0;
__block NSInteger negativeCount = 0;

NSArray *arr = [NSArray arrayWithObjects:@-4,@-3,@-9,@0,@4,@1, nil];

[arr enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
    NSInteger value = ((NSNumber *)obj).integerValue;
    if (value > 0) {
        positiveCount += 1;
    } else if (value < 0) {
        negativeCount += 1;
    } else {
        zeroCount += 1;
    }
}];
NSLog(@"%ld",(long)positiveCount);
\u块NSInteger正计数=0;
__块NSInteger zeroCount=0;
__块NSInteger negativeCount=0;
NSArray*arr=[NSArray数组,其对象为:@-4、@-3、@-9、@0、@4、@1、nil];
[arr enumerateObjectsUsingBlock:^(id _非空obj,整数idx,布尔*_非空停止){
NSInteger值=((NSNumber*)obj.integerValue;
如果(值>0){
正计数+=1;
}else if(值<0){
负计数+=1;
}否则{
零计数+=1;
}
}];
NSLog(@“%ld”,(长)正计数);