首页 > 解决方案 > ARC 不允许将“int”隐式转换为“NSString * _Nullable”。不兼容的整数到指针的转换

问题描述

我遇到了一个问题,我尝试使标签(labelchange2)文本等于整数(int)//我得到错误:

ARC 不允许将“int”隐式转换为“NSString * _Nullable”

和警告:

从“int”分配给“NSString * _Nullable”的不兼容整数到指针转换

即使在我将其切换为 NSString 之后,它也会给我带来更多错误。

这是用于 iOS 开发的 Objective-C。

代码:

#import "ViewControllerTV.h"

@interface ViewControllerTV ()

@end

int x = 0;

@implementation ViewControllerTV

- (void)viewDidLoad {
    [super viewDidLoad];
    self.labelchange2.text = x;  // <- error here
}

- (IBAction)up2:(id)sender {
    NSString *printer3 = [NSString stringWithFormat:@"%d",x ];
    self.labelchange2.text = printer3;

    x++;
}

- (IBAction)down2:(id)sender {
    NSString *printer3 = [NSString stringWithFormat:@"%d",x];
    self.labelchange2.text = printer3;

    x--;
}

@end

更新我将它从“x”更改为

Self.labelchange2.text = @“0”;  

它也修复了自己

标签: objective-c

解决方案


更新有问题的行viewDidLoad

self.labelchange2.text = [NSString stringWithFormat:@"%d",x];

推荐阅读