小编val*_*rin的帖子

来自accessoryButton的segue的IndexPath

我试图使用storyboard/segue来处理UITableView与标准转换以及详细信息披露按钮之间的转换.在这里阅读了几个不同的帖子后,我以这种方式设置了我的项目:

  1. 绑定UITableViewCell和ViewController之间的主要segue
  2. 将辅助segue从父ViewController绑定到新的ViewController
  3. 实施accessoryButtonTappedForRowWithIndexPath如下:

    -(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {
        [self performSegueWithIdentifier:@"DetailSegue" sender:self];
    }
    
    Run Code Online (Sandbox Code Playgroud)

这很好用,我prepareForSegue: sender:按预期调用.麻烦的是,我需要知道所选元素的indexPath.来自UITableViewCell的segue检索indexPath,如下所示:

NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我尝试调用accessoryButton时,返回null.

我基于这些代码的原始问题是:详细信息披露按钮和Segues

是否有tableView的方法返回accessoryButtons的indexPath?我是否需要以其他方式访问indexPath?

iphone storyboard

9
推荐指数
2
解决办法
3843
查看次数

在Core Data Predicate中使用元素名称的变量

我试图编写一个方法,尝试使用变量(作为NSXMLParser的一部分)基于谓词检索对象.代码如下所示:

我在类中定义了这些变量:

@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;

@property (strong, nonatomic) NSString *model;
@property (strong, nonatomic) NSString *element;
Run Code Online (Sandbox Code Playgroud)

现在在方法中,我设置了这样的请求:

NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:self.model inManagedObjectContext:self.managedObjectContext];
[request setEntity:entity];
Run Code Online (Sandbox Code Playgroud)

现在面临的挑战 - 我希望能够做到的是:

// DOES NOT WORK
[request setPredicate:[NSPredicate predicateWithFormat:@"%@ == %@", self.element,string]];
Run Code Online (Sandbox Code Playgroud)

但这并没有带来任何结果.经过一番捣乱,我注意到这确实有效:

 if ( [self.element isEqualToString:@"name"] ) {
     [request setPredicate:[NSPredicate predicateWithFormat:@"name == %@", string]];
 }
Run Code Online (Sandbox Code Playgroud)

这告诉我,我self.element的设置是正确的(我认为?)但是谓词不喜欢表达式的左侧是变量.

我也尝试过:

[request setPredicate:[NSPredicate predicateWithFormat:@"%s == %@", [self.element UTF8String],string]];
Run Code Online (Sandbox Code Playgroud)

...只是为了看看它是否更喜欢一个字符串.我也无法做到这一点.

我正在尝试甚至可能吗?我已经尽可能多地阅读了Core Data文档,我找不到任何以这种方式执行的示例代码,但我也没有发现任何可以说它不可能的内容.

编辑:现在工作代码:

[request setPredicate:[NSPredicate …
Run Code Online (Sandbox Code Playgroud)

predicate core-data ios

8
推荐指数
1
解决办法
2532
查看次数

标签 统计

core-data ×1

ios ×1

iphone ×1

predicate ×1

storyboard ×1