- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个好友 ListView Controller ,允许用户查看待处理的好友请求。 isPending 方法首先用于查看特定用户是否与当前用户有待处理的好友请求。
-(BOOL)isPending:(PFUser *)user
{
for (PFUser *pending in self.Pending){
if ([pending.objectId isEqualToString:user.objectId]){
return YES;
}
}
return NO;
}
此方法在 TableViewController 的 cellForRowAtIndexPath 方法中调用。我遇到的问题是,如果我在 tableViewController 中运行查询,则会正确显示待处理的用户。当我将查询移动到单例数据源类时,我设置了一个委托(delegate)方法,当从查询返回数据时调用该方法。
-(void)pendingFriendsQuarryDidFinishWithData{
self.Pending = [NSMutableArray arrayWithArray:dataHolder.getPendingFriendsList];
[self.tableView reloadData];
}
调用 reloadData 不会导致复选标记出现在用户名旁边。
编辑:这里是 cellForRowAtIndexPath 的代码。它不会随着单例而改变。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
// Configure the cell...
PFUser *user = [self.allUsers objectAtIndex:indexPath.row];
cell.textLabel.text = user.username;
cell.detailTextLabel.text = user.email;
cell.imageView.image = [UIImage imageNamed:@"Treehouse.png"];
if([self isPending:user]){
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
return cell;
}
改变的是数据的获取方式。这里没有单例是代码
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
/*
self.currentUser = [PFUser currentUser];
if (self.currentUser != nil){
PFQuery *userQuery = [PFUser query];
PFQuery *pendingUser = [PFUser query];
PFRelation *friendRelation = [self.currentUser relationForKey:@"friendRelation"];
PFQuery *existingFriends = [friendRelation query];
PFQuery *pendingFriends = [PFQuery queryWithClassName:@"FriendRequest"];
userQuery.cachePolicy = kPFCachePolicyCacheThenNetwork;
pendingFriends.cachePolicy = kPFCachePolicyCacheThenNetwork;
[pendingFriends whereKey:@"fromUser" equalTo:self.currentUser.objectId];
[pendingFriends whereKey:@"status" equalTo:@"Pending"];
[userQuery whereKey:@"objectId"doesNotMatchKey:@"toUser" inQuery:pendingFriends];
[userQuery whereKey:@"objectId" doesNotMatchKey:@"objectId" inQuery:existingFriends];
[userQuery orderByAscending:@"username"];
[userQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (error){
NSLog(@" Error %@ %@", error, [error userInfo] );
}else{
NSLog(@"All Users Array Starts Here: %@", objects);
self.allUsers = objects;
[self.tableView reloadData];
}
}];
[pendingUser whereKey:@"objectId" matchesKey:@"toUser" inQuery:pendingFriends];
[pendingUser orderByAscending:@"username"];
[pendingUser findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (error){
NSLog(@"%@ %@", error, [error userInfo]);
}else{
[self.Pending addObjectsFromArray:objects];
NSLog(@"Pending Friends Array Stars here: %@", self.Pending);
}
}];
}
*/
}
单例
- (void)viewDidLoad
{
dataHolder = [DataHolder sharedInstance];
dataHolder.delegate = self;
self.friends = [NSMutableArray new];
self.allUsers = [NSMutableArray new];
self.allUsers = [NSMutableArray arrayWithArray:dataHolder.getAllUsersWithQuarry];
self.Pending = [NSMutableArray new];
self.Pending = [NSMutableArray arrayWithArray:dataHolder.getPendingFriendsListWithQuarry];
[super viewDidLoad];
NSLog(@"Now in Connection Editor");
}
-(void)allUsersQuarryDidFinishWithData{
self.allUsers = [NSMutableArray arrayWithArray:dataHolder.getAllUsers];
[self.tableView reloadData];
}
-(void)pendingFriendsQuarryDidFinishWithData{
self.Pending = [NSMutableArray arrayWithArray:dataHolder.getPendingFriendsList];
[self.tableView reloadData];
}
最佳答案
愚蠢的问题,你是否将你的 tableviewcontroller 的数据源设置为指向你的单例数据源?
tableview.datasource = [your singleton class instance]
并确保您在调试器中步入它。
希望这对您有所帮助。
关于ios - UitableViewCell 无法正确显示配件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24274759/
我有从 2.3.3 到 4.0 的升级表。它工作正常。现在,我已经通过示例代码安装了 ADB 测试应用程序。但它没有显示任何内容。当我连接 USB 鼠标或键盘时只有黑屏。鼠标和键盘工作正常但 ADB
HomeKit 附件模拟器 作为一个小按钮,可以让设备不公平。 鉴于它是一个附件模拟器,我假设有一些硬件编程规范允许编写取消配对功能。 但是,将其作为 HomeKit 框架 的一部分来实现并允许客户端
HomeKit 配件模拟器中有一个取消配对按钮。当您取消与某个配件的配对时,该配件似乎会保留在您之前分配给它的家中的 HomeKit 数据库中。我想添加一个过程来从数据库中删除配件,或者重新配对配件。
我有一个使用 我希望该 USB 与在前台运行的 App1 和在后台运行的 App2 通信。 App2 在我的后台运行。前台运行的App1是第三方的。我将无法访问 App1。 当我尝试这样做时,每当一
对于我的应用程序,我想要一些可以同时具有复选标记和详细信息披露按钮的单元格。也就是说,我希望它们看起来与 iOS 设置中的 Wi-Fi 网络选择完全一样:左侧为复选标记,中间为内容,右侧为详细信息披露
5月1日消息,据外媒报道,虚拟现实(VR)技术已经出现,但它并不尽如人意。其中最重要的就是:虽然今天的VR系统已经可以塑造令人身临其境的视觉体验,但它们并不能满足我们所有的感官体验,比如至关重要的触
我刚刚开始使用 android 附件协议(protocol)进行一些开发。我采购了入门套件(微芯片)以熟悉环境。我应该指出,我在嵌入式 C 方面有扎实的背景,但在 Android/Java 方面却不是
我正在开发一个包含蓝牙连接配对的应用程序。所以我想知道蓝牙是否连接到其他设备或任何配件? 检查蓝牙是否已在 iPhone 中配对? 最佳答案 您可以尝试使用 CBCentralManager 将连接的
我想制作一个与 iOS 的 MIDI 接口(interface)配件通信的应用程序。我购买了 MFI 许可设备 (iConnectMidi),插入并创建了一个简单的项目,该项目在应用程序启动后调用 [
我有一个自定义硬件,它作为安卓配件通过 USB 连接到手机。我设法通过 native android 应用程序与它通信。我想知道是否可以通过 WebUSB API 与它通信。 到目前为止,我只是尝试使
我想创建一个通过 3.5 毫米插孔与 iPhone/iPad 交互的项目。 kickstarter.com 上有很多此类配件。尽管如此,我找不到任何 SDK 可以让我从插孔输入获取数据。 我看到 pr
特此说明情况:我正在开发 Android 平板电脑,它必须在 Accessory 中工作模式。原因是因为平板电脑无法提供足够的电量来执行与串行 USB 微 Controller 的通信并继续为其电池充
是否可以检测 iPod Touch/iPhone 是否连接了耳机或其他配件? 我正在构建一个需要麦克风的应用程序,并且需要知道“iSomething”是否通过扩展坞连接或使用耳机端口(例如内联耳机/麦
在构建使用 USB 连接的 Android 配件的各种教程中,第一步是“选择可以支持 USB 主机模式的硬件平台”。这些教程中的大多数都声称这意味着获得一台运行 > Android 3.1 的设备(或
在 android usb 配件中 documentation ,有一个android list 的例子,其中Activity通过intent-filter捕获USB_ACCESSORY_ATTACH
我是一名优秀的程序员,十分优秀!