关于table view cell选择控制器后出错 码拜 9年 ago 没有用一句代码,在弄了个table view cell运行后没问题,选择控制器后,即使控制器里没有代码,一运行,cell在模拟器上就不显示了,这是怎么回事。 解决方案 40 引用: Quote: 引用: Quote: 引用: Quote: 引用: Quote: 引用: Quote: 引用: Quote: 引用: Quote: 引用: Quote: 引用: Quote: 引用: Quote: 引用: Quote: 引用: 代理设置了没有? 设置了啊。这个本人第一个就弄了 假如你是在storyboard里面设置代理的话,还是认真检查一下吧,有时会丢掉的,本人遇到过这种问题,最好还是在代码里面设置 self.tableview.delegate = self self.tableview.datasource= self #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { #warning Incomplete implementation, return the number of sections return 0; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { #warning Incomplete implementation, return the number of rows return 0; } xcode7.3自动创建的这几行代码影响了视图的显示,删了就好了,不知道是为什么 什么叫不知道为什么,它默认的实现是section和numberofrow的值都是0啊,所以就什么都不显示了啊。 上一个问题自动作废。本人现在又遇到了选择控制器后就不显示表的问题了代码如下 #import "WCContactsViewController.h" @interface WCContactsViewController () @property (nonatomic, strong) NSArray *friends; @end @implementation WCContactsViewController - (void)viewDidLoad { [super viewDidLoad]; // 从数据里加载好友列表显示 [self loadFriends]; } -(void)loadFriends{ //使用CoreData获取数据 // 1.上下文【关联到数据库XMPPRoster.sqlite】 NSManagedObjectContext *context = [WCXMPPTool sharedWCXMPPTool].rosterStorage.mainThreadManagedObjectContext; // 2.FetchRequest【查哪张表】 NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"XMPPUserCoreDataStorageObject"]; // 3.设置过滤和排序 // 过滤当前登录用户的好友 NSString *jid = [WCUserInfo sharedWCUserInfo].jid; NSPredicate *pre = [NSPredicate predicateWithFormat:@"streamBareJidStr = %@",jid]; request.predicate = pre; //排序 NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"displayName" ascending:YES]; request.sortDescriptors = @[sort]; // 4.执行请求获取数据 self.friends = [context executeFetchRequest:request error:nil]; NSLog(@"%@",self.friends); } -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return self.friends.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *ID = @"ContactCell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID]; // 获取对应好友 XMPPUserCoreDataStorageObject *friend =self.friends[indexPath.row]; cell.textLabel.text = friend.jidStr; return cell; } @end 假如你确定设置了代理了的话,把下面这段加上 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { #warning Incomplete implementation, return the number of sections return 1; } 还有要确保friends 这个数组是拥有值的 果然没有值啊,本人跟着视频做的,然后运行了人家的代码也没有值,本人解决不了这个问题了好急。 既然确认是数据源的问题,那么就好办了。 1、确认数据库存在 2、确认数据库拥有数据 3、确认从数据库获取数据成功 给篇关于CoreData框架入门的文章你看看:http://blog.csdn.net/q199109106q/article/details/8563438/ 数据库存在,数据库里也确定有数据,但是就是不能获取= = 能不能把本人的整个代码发给你,帮本人看看。 http://www.codeios.com/forum.php?mod=viewthread&tid=204764&extra=这个帖子里本人上传了本人的代码。服务器用的openfire,本人设置的域名是wuziyi.local 没办法,试了很久都没办法连接上服务器,你用的是哪家的SDK? 你数据库应该是根据你的登录账户进行获取数据的吧?你要确保你这个账户的数据库有数据 CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于table view cell选择控制器后出错!