表达结果未用于UITabBarItem

时间:2014-12-08 01:03:14

标签: ios objective-c xcode6 uitabbar uitabbaritem

我收到警告“表达结果未使用”。

enter image description here

我不知道为什么会这样。它工作正常。显示正确的标题和图像,为什么警告?我该怎么做才能修复这些警告?

谢谢大家的帮助!

----------------------------------------------- ------编辑1

当我这样写的时候,我没有得到任何警告。

   tabBarItem1 = [tabBarItem1 initWithTitle:@"Matcher Idag" image:[UIImage imageNamed:@"games-2.png"] selectedImage:[UIImage imageNamed:@"games-2.png"]];

但是当我去产品 - >然后分析它说:“从未使用存储到tabBarItem1的值

1 个答案:

答案 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;