dan*_*ney 5 iphone xcode web-services objective-c uipickerview
任何人都知道如何填充,例如从Web服务到UIPickerView的类别列表?此外,是否可以存入隐藏价值?
示例,
隐藏ID为"1"的"Public",隐藏ID为"2"的
"Member"等等.
这两个值来自Web服务.顺便说一句,我正在使用ASIHTTPRequest框架.
我是iOS/XCode/Objective C的新手.希望有人能帮忙):谢谢
===============回复================
@MSgambel
好吧,尽我所能解释.至于现在,我们如何将项目放入UIPickerView:
[NSArray arrayWithObjects:@"John Appleseed",@"Chris Armstrong",@"Serena Auroux",@"Susan Bean",@"Luis Becerra",@"Kate Bell",@"Alain Briere",nil];
而不是上面的那些项目,如何将项目从Web服务填充到选择器?
@Akshay
隐藏的意思是选择器有2个值,但只有标签"Public"在选择器上可见而不是id"1".我想实现它有点类似于网站上的下拉菜单.
在名为"Domain"的数据库中,我们使用以下格式的值:
DomainID:DomainName
1:Public
2:CompanyA
3:
CompanyB
将有另一个数据库"Users",它与DomainID绑定.(只是一个例子)
选择器将在界面上显示"Public",当用户选择它时,它将具有值"1".那么无论如何我可以做这样的事情吗?
首先,您没有提供有关您的网络服务的详细信息。假设它是基于 SOAP 的,那么我强烈推荐sudzc或wsd2lobjc。这些将为您生成代码,以便将 WSDL def 很好地转换为 Objective C 类。
至于 UIPickerView“隐藏”值的问题,这个问题非常简单。创建一个NSArrayof NSDictionaries. 使用您的示例(假设所有都是字符串):
NSDictionary *dictOne = [NSDictionary dictionaryWithObjectsAndKeys:@"1",@"realValue",@"Public",@"looksGoodValue",nil];
NSDictionary *dictTwo = [NSDictionary dictionaryWithObjectsAndKeys:@"2",@"realValue",@"CompanyA",@"looksGoodValue",nil];
NSDictionary *dictTre = [NSDictionary dictionaryWithObjectsAndKeys:@"3",@"realValue",@"CompanyB",@"looksGoodValue",nil];
array = [NSArray arrayWithObjects:dict1,dict2,dict3,nil];
并在你的 UIPickerViewDelegate 方法中
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return [[self.array objectAtIndex:row] objectForKey:@"looksGoodValue"];
}
最后在你使用 pickerview 的任何地方(比如你的网络服务)
request.realValue = [[self.array objectAtIndex:[pickerView selectedRowInComponent:0]] valueForKey:@"realValue"];
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
1798 次 |
| 最近记录: |