我有工作 objc tableview 解析代码和实时条目。但显示仅匹配 1 行。我想显示所有匹配的行。我的工作代码在这里。
我的远程 json 文件
{
"company" : [
{
"description" : "example company , Jordan",
"id" : "90",
"place_id" : "90"
} {
"description" : "example company 2 , Qatar",
"id" : "362578",
"place_id" : "362578"
} {
"description" : "example company 3 , Spain",
"id" : "432589",
"place_id" : "432589"
},
{
"description" : " ",
"id" : "1",
"place_id" : "1"
}
],
"status" : "OK"
}
Objc 代码在这里
#import "ViewController.h"
#import "Common/Constants.h"
#import "lace.h"
@interface ViewController (){
NSMutableArray *response;
Place *place;
NSMutableArray *places;
}
@end
NSString *links;
@implementation ViewController
@synthesize toggleSwitch;
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// [self.txtSearchField becomeFirstResponder];
self.tableViewSearchResult.hidden = YES;
self.toggleSwitch.on = true;
self.switchLabel.text = @"Coms";
NSString *valueToSave = @"http://bla.com/company.php?";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey"preferenceName"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
- (IBAction)backChangeid)sender {
if ([sender isOn] == YES) {
_switchLabel.text = @"Firmalar";
NSString *valueToSave = @"http://bla.com/company.php?";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey"preferenceName"];
[[NSUserDefaults standardUserDefaults] synchronize];
NSLog(@"");
} else {
NSString *valueToSave = @"http://bla.com/company2.php?";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey"preferenceName"];
[[NSUserDefaults standardUserDefaults] synchronize];
_switchLabel.text = @"Ülkeler";
NSLog(@"");
}
}
#pragma mark -
-(void)searchForResultNSString *)input{
NSString *savedValue = [[NSUserDefaults standardUserDefaults]
stringForKey"preferenceName"];
NSString *urlString = [NSString stringWithFormat"%@gelen=%@",savedValue,input];
NSLog(@"link = %@",urlString);
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
}
#pragma mark - UITextField Delgate
-(BOOL)textFieldUITextField *)textField shouldChangeCharactersInRangeNSRange)range replacementStringNSString *)string{
if (![string isEqualToString""] && [string length]>0) {
NSString *keyword = [textField.text stringByAppendingString:string];
NSLog(@"String : %@",keyword);
if ([keyword length]>=4) {
[self searchForResult:keyword];
}
}
return YES;
}
#pragma mark - UITableViewDelegate
-(void)tableViewUITableView *)tableView didSelectRowAtIndexPathNSIndexPath *)indexPath{
place = [places objectAtIndex:indexPath.row];
self.txtSearchField.text = place.placeName;
NSLog(@"Selected placeID : %@",place.placeID);
self.tableViewSearchResult.hidden = YES;
}
#pragma mark - UITableViewDataSource
-(UITableViewCell *)tableViewUITableView *)tableView cellForRowAtIndexPathNSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier"cell"];
if (nil == cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier"cell"];
}
place = [places objectAtIndex:indexPath.row];
NSLog(@"lace ID : %@, Place Name : %@",place.placeID,place.placeName);
cell.textLabel.text = [place placeName];
return cell;
}
-(NSInteger)tableViewUITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [places count];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
当再匹配 1 个时给我这个错误(如果匹配 1 个成功显示)
Connection Error : (null)
我工作了大约 7-8 小时,但我没有解决它 我需要您的帮助,感谢您所做的一切。我认为这是一个简单的问题,但我仍然没有解决它。
Best Answer-推荐答案 strong>
你的json字符串应该是这样的
{
"company" : [
{
"description" : "example company , Jordan",
"id" : "90",
"place_id" : "90"
}, {
"description" : "example company 2 , Qatar",
"id" : "362578",
"place_id" : "362578"
}, {
"description" : "example company 3 , Spain",
"id" : "432589",
"place_id" : "432589"
},
{
"description" : " ",
"id" : "1",
"place_id" : "1"
}
],
"status" : "OK"
}
满足您的代码并获得超过 1 个记录。
根据 RFC 4627(JSON 规范),它是一个有效的 josn。因此,您收到了 1 条回复。
关于ios - Objc live Json Parsing Only 显示 1 项错误,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/33776037/
|