0

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

我在开发 iOS 方面绝对是新手,而这个正在拔掉我最后剩下的白发

我希望能够将 selectedSegmentIndex 值保存在 Core Data 的数据库中,这样我就可以在下一个视图中正确显示状态 - 但我真的很难理解如何保存该值:

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;
    }

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

在此先感谢,米奇

4

1 回答 1

1

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

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

如果您确实需要一个字符串,以下是如何使用 stringWithFormat 将您的索引转换为字符串:

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

您的电话有两个问题stringWithFormat

  1. stringWithFormat是 的类方法NSString。您要求您的实例UISegmentedControl返回一个字符串,但它不知道该怎么做。
  2. 在 stringWithFormat 中请求 a%d后,第一个参数需要是整数,例如2,而不是 string @"2"
于 2012-04-07T03:06:06.443 回答