我收到警告“表达结果未使用”。
我不知道为什么会这样。它工作正常。显示正确的标题和图像,为什么警告?我该怎么做才能修复这些警告?
谢谢大家的帮助!
----------------------------------------------- ------编辑1
当我这样写的时候,我没有得到任何警告。
tabBarItem1 = [tabBarItem1 initWithTitle:@"Matcher Idag" image:[UIImage imageNamed:@"games-2.png"] selectedImage:[UIImage imageNamed:@"games-2.png"]];
但是当我去产品 - >然后分析它说:“从未使用存储到tabBarItem1的值
答案 0 :(得分:2)
那段代码非常非常错误。
Init方法返回一个对象。您应该使用它,因为有时init方法会返回与您开始时不同的对象。
你几乎总是在一对中使用alloc和init,例如:
tabBarItem1 = [[tabBarItem alloc] initWithTitle: @"title"
image: myImage
selectedImage: anotherImage];
如果您不是经验丰富的Objective-C开发人员并且您分别调用alloc和init,那么您就犯了一个错误。我可以依靠单手的手指,我在上面显示的alloc / init模式中没有使用init的次数
您发布的代码并没有多大意义。您不应该将init消息发送到已经成为标签栏一部分的对象。这是禁忌。这些对象已经初始化,并且您只应该向其中的一个对象发送一条初始化消息。你在做什么会导致问题。大问题。
相反,您应该使用标题和图像属性:
tableBarItem1.title = @"new title";
tableBarItem1.image = myImage;
tableBarItem1.selectedImage = mySelectedImage;