所以我正在研究使用Xcode 6编码的Objective-C应用程序的更新,但这次是使用Xcode 7.0.1(最近使用Xcode 7.1),我发现我的代码的特定部分有一个奇怪的结果。 首先,我必须说明在应用程序的先前版本中,这部分代码工作得很好。所以我们讨论的是一个UIScrollView,它包含了很多东西,我们可以找到三个显示三个顶级列表的UITableView。
问题在于:自从使用Xcode 7.0.1以来,UITableViews不再显示任何信息,但我无法找到原因,因为当你选择一个时,每个单元格的信息实际上都在这里...
有没有人遇到同样的问题?
以下是代码:
- (void)toppassionglob:(NSString *)topglobreceived {
//on retransforme le string des stats en data
NSData *toppassioner = [topglobreceived dataUsingEncoding:NSUTF8StringEncoding];
NSError *error3;
NSArray *jsonArray3 = [NSJSONSerialization JSONObjectWithData:toppassioner options:NSJSONReadingAllowFragments error:&error3];
if (jsonArray3) {
dispatch_async(dispatch_get_main_queue(), ^{
//on purge notre tableau
[toppassion removeAllObjects];
//puis on traite les infos
for (int i = 0; i < jsonArray3.count; i++)
{
NSDictionary *jsonElement = jsonArray3[i];
Games *newpassionner = [[Games alloc] init];
newpassionner.name = jsonElement[@"pseudo"];
newpassionner.score = jsonElement[@"nbvote"];
newpassionner.image = jsonElement[@"nbvotesoffline"];
[toppassion addObject:newpassionner];
}
//puis le remplissage des tops
[_toppassionnerglob reloadData];
});
}
这是对于信息的调用(它有效)
然后在cellForRowAtIndexPath:function:
中RankCell *myCell = [tableView dequeueReusableCellWithIdentifier:@"RankCell"];
if (myCell == nil) {
myCell = [[RankCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
}
Games *thisone = [toppassion objectAtIndex:indexPath.row];
myCell.textLabel.text = [NSString stringWithFormat:@"%ld", (long)indexPath.row+1];
myCell.textLabel.textColor = [UIColor purpleColor];
myCell.name.text = [NSString stringWithFormat:@"%@", thisone.name];
myCell.rank.text = [NSString stringWithFormat:@"%@ votes, %@ offline", [self separateur:thisone.score], [self separateur:thisone.image]];
}
提前感谢您的回答。
编辑: 以下是toplobreceived和jsonArray3包含的内容
topglobreceived =(__ NSCFString *)@“[{\”pseudo \“:\”Padadise \“,\”nbvote \“:\”7969 \“,\”nbvotesoffline \“:\”364 \“}, {\ “伪\”:\ “Roope \”,\ “nbvote \”:\ “5647 \”,\ “nbvotesoffline \”:\ “0 \”},{\ “伪\”:\ “Spank78 \” ,“nbvote \”:\“2696 \”,\“nbvotesoffline \”:\“6 \”},{\“pseudo \”:\“All Ice \”,\“nbvote \”:\“680 \ “\ ”nbvotesoffline \“:\ ”73 \“},{\ ”伪\“:\ ”NewPad \“,\ ”nbvote \“:\ ”73 \“,\ ”nbvotesoffline \“:\” 1 \ “},{\” 伪\ “:\” 内尔\ “\ ”nbvote \“:\ ”47 \“,\ ”nbvotesoffline \“:\ ”0 \“},{\ ”伪\“:\” AppleFriend \“,\”nbvote \“:\”4 \“,\”nbvotesoffline \“:\”0 \“}]”
jsonArray3 =(__ NSCFArray *)@“7个对象”
[0] __NSCFDictionary * 3个键/值对
[0] struct __lldb_autogen_nspair
key NSTaggedPointerString * @“pseudo”
值NSTaggedPointerString * @“Padadise”
[1] struct __lldb_autogen_nspair
key NSTaggedPointerString * @“nbvote”
值NSTaggedPointerString * @“7969”
[2] struct __lldb_autogen_nspair
key __NSCFString * @“nbvotesoffline”
值NSTaggedPointerString * @“364”
对于jsonArray3我只给出第一个对象(不是redondant)
答案 0 :(得分:0)
所以我想出来了!
在较新版本的Xcode中,单元格的初始属性(不是您在自定义单元格中设计的元素)已更改。其中一个特别是单元格的文本字段的背景,现在默认为白色或放在动态单元格的自定义元素前面。
为了解决我的问题,我必须使用这些代码并且一切正常。
myCell.textLabel.backgroundColor = [UIColor clearColor];
这并不容易找到......