我想在核心数据中保存UISegmentedControl.selectedSegmentIndex - 但是如何

时间:2012-04-06 14:33:59

标签: ios core-data uisegmentedcontrol

我使用分段控件作为联系人应用程序的一种单选按钮系统。 有三个按钮,问题是联系人是否是现有客户。 按钮的名称是“否”,“是”,“其他分部”

我在开发iOS时绝对是绿色的,而且这个是拉出我最后剩下的白发

我希望能够在核心数据的数据库中保存selectedSegmentIndex值,这样我就可以正确地显示下一个视图的状态 - 但我真的很难理解,如何保存值:< / p>

if (self.existCustSelection.selectedSegmentIndex == 2)
    [self.currentContact setExistCust:[existCustSelection stringWithFormat:@"%d", @"2"]];

- 这给出了

的编译错误
  

'UISegmentedControl'没有可见的@Interface声明选择器'stringWithFormat:'

我明白 - 我的问题是,我想设置existCust而不是existCustSelection,但无论出于何种原因,我在编写代码时都没有这个选项。

我的阅读是这样的,没有错误或警告:

if ([currentContact existCust] == @"2") {
            self.existCustSelection.selectedSegmentIndex = 2;
    }

希望有一个很好的解决方案吗? :)

提前致谢, 米奇

1 个答案:

答案 0 :(得分:1)

existsCust必须是一个字符串吗?如果它只存储数字,请考虑使用NSNumber

NSNumber* custNumber = [NSNumber numberWithInteger:existCustSelection.selectedSegmentIndex];

如果你确实需要一个字符串,这里是如何使用stringWithFormat将索引转换为字符串:

NSString* custString = [NSString stringWithFormat:@"%d", existCustSelection.selectedSegmentIndex];

致电stringWithFormat时出现两个问题:

  1. stringWithFormatNSString的类方法。您要求UISegmentedControl的实例返回一个字符串,但它不知道该怎么做。
  2. 在stringWithFormat中请求%d后,第一个参数需要是整数,例如2,而不是字符串@"2"