plistで文字列の検索を実装するにはどうすればよいですか?

ahmetberkaycalisti

私はすべてを試しましたが、うまくいきません。loadplistを含むtableviewがあります。検索機能を実装しようとしています。

私のコードがあります、

#import <UIKit/UIKit.h>
@interface TableViewController : UITableViewController <UISearchDisplayDelegate, UISearchBarDelegate>
@property (strong, nonatomic) IBOutlet UITableView *tableView;
@property(nonatomic)NSMutableArray *itemList;
@property (nonatomic)NSMutableArray *filteredNames;
@property (weak, nonatomic) IBOutlet UISearchBar *searchBar;
@property (nonatomic, strong) UISearchController *searchController;

何かを検索すると、nslog関数にエンティティが表示されますが、テーブルビューに結果が表示されません。

-(void)searchDisplayController:(UISearchController *)controller didLoadSearchResultsTableView:(nonnull UITableView *)tableView
{
    [tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
}
-(BOOL)searchDisplayController:(UISearchController *)controller shouldReloadTableForSearchString:(NSString *)searchString
{

    [_filteredNames removeAllObjects];
    if (searchString.length > 0) {
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains [search] %@",self.searchBar.text];
        NSLog(@"%@",predicate);

        NSString *filePathBundle = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];
        NSDictionary *root = [NSDictionary dictionaryWithContentsOfFile:filePathBundle];
        NSArray *films = [root objectForKey:@"FilmsPlaying"];
        for (NSDictionary *dic in films) {

            Films *f = [[Films alloc] initWithDictionary:dic];
            [_filteredNames addObject:f];

        }
    }

        return YES;

}

私の.mファイルがあります

- (void)viewDidLoad {
    [super viewDidLoad];

    _searchController = [[UISearchController alloc]init];

    self.filteredNames = [[NSMutableArray alloc]init];


    [self.tableView  dataSource];
    [self.tableView delegate];
    [self.tableView reloadData];
}

そして私のplistがあります。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>FilmsPlaying</key>
    <array>
        <dict>
            <key>ZFILMTIME</key>
            <integer>90</integer>
            <key>ZFILMDATESTART</key>
            <date>2015-04-01T09:15:42Z</date>
            <key>ZFILMCONTENT</key>
            <string>bla bla bla </string>
            <key>ZFILMDIRECTOR</key>
            <string>Don Hall,Chris Williams</string>
            <key>ZFILMID</key>
            <string></string>
            <key>ZFILMIMAGE</key>
            <string>bla.jpg</string>
            <key>ZFILMNAME</key>
            <string> Big Hero 6</string>
            <key>ZFILMTYPE</key>
            <string>bla bla bla </string>
            <key>ZFILMVOTE</key>
            <integer>10</integer>
        </dict>
        <dict>
            <key>ZFILMTIME</key>
            <integer>90</integer>
            <key>ZFILMDATESTART</key>
            <date>2015-04-01T09:15:42Z</date>
            <key>ZFILMCONTENT</key>
            <string>bla bla bla .</string>
            <key>ZFILMDIRECTOR</key>
            <string>Frankie Chung</string>
            <key>ZFILMID</key>
            <string></string>
            <key>ZFILMIMAGE</key>
            <string>bla.jpg</string>
            <key>ZFILMNAME</key>
            <string>bla bla bla </string>
            <key>ZFILMTYPE</key>
            <string>bla bla bla </string>
            <key>ZFILMVOTE</key>
            <real>9.5</real>
        </dict>
</array>
</dict>

私はあなたのアドバイスを待っています、ありがとう

アブデラハド・ダーウィッシュ

NSDictionaryの配列(フィルム)を検索するので、述語でNSDionaryのSELF.keynameを使用します。

NSString *filePathBundle = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];
NSDictionary *root = [NSDictionary dictionaryWithContentsOfFile:filePathBundle];
NSArray *films = [root objectForKey:@"FilmsPlaying"];

NSLog(@"%@",films);

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.ZFILMNAME CONTAINS[cd] %@", self.searchBar.tex];

NSArray *searchResult = [films filteredArrayUsingPredicate:predicate];
   NSLog(@"%@",searchResult);

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

jqueryでctrl + fのような検索を実装するにはどうすればよいですか?

分類Dev

文字列の配列のバイナリ検索を実装するにはどうすればよいですか?

分類Dev

MySQL-この文字列検索を実行するにはどうすればよいですか?

分類Dev

検索文字列内の文字を検索するにはどうすればよいですか?

分類Dev

特定の深さまで幅優先検索を実装するにはどうすればよいですか?

分類Dev

Objective-Cで実行時に文字列定数を検索するにはどうすればよいですか?

分類Dev

検索バーの作成中にAJAX操作を実装するにはどうすればよいですか?

分類Dev

Swift 4で文字列内の部分文字列を検索するにはどうすればよいですか?

分類Dev

Haskellで文字列内の文字列を検索するにはどうすればよいですか?

分類Dev

この水平検索結果バーを実装するにはどうすればよいですか?

分類Dev

C#で文字列に「検索、置換、次へ」を実装するにはどうすればよいですか?

分類Dev

sedで「+」文字の文字列を検索するにはどうすればよいですか?

分類Dev

再生時に曲に対応する検索を実装するにはどうすればよいですか?

分類Dev

XML列全体でSQLの文字列を検索するにはどうすればよいですか?

分類Dev

複数のWksheetsで文字列を同時に検索するにはどうすればよいですか?

分類Dev

Bashで特定の文字列を含む行を検索するにはどうすればよいですか?

分類Dev

AndroidでSpinnerを使用して検索を実装するにはどうすればよいですか?

分類Dev

文字列内の文字を検索するにはどうすればよいですか?

分類Dev

文字列内の文字を検索するにはどうすればよいですか?

分類Dev

Pythonで再帰を使用して「配列内の最大値の検索」を実装するにはどうすればよいですか?

分類Dev

JPA(Spring Data JPA)で単純な全文検索を実装するにはどうすればよいですか?

分類Dev

JPA(Spring Data JPA)で単純な全文検索を実装するにはどうすればよいですか?

分類Dev

djangoで検索機能を実装するにはどうすればよいですか?

分類Dev

Jqueryで検索機能を実装するにはどうすればよいですか?

分類Dev

Spring + Hibernate + MySQLで検索フィルターを実装するにはどうすればよいですか?

分類Dev

Elastic Searchで文字列のリスト内を検索するにはどうすればよいですか?

分類Dev

文字列で複数の単語を検索するにはどうすればよいですか

分類Dev

Microsoft Officeで複数行の文字列を検索するにはどうすればよいですか?

分類Dev

tweepyで複数の文字列を検索するにはどうすればよいですか?

Related 関連記事

  1. 1

    jqueryでctrl + fのような検索を実装するにはどうすればよいですか?

  2. 2

    文字列の配列のバイナリ検索を実装するにはどうすればよいですか?

  3. 3

    MySQL-この文字列検索を実行するにはどうすればよいですか?

  4. 4

    検索文字列内の文字を検索するにはどうすればよいですか?

  5. 5

    特定の深さまで幅優先検索を実装するにはどうすればよいですか?

  6. 6

    Objective-Cで実行時に文字列定数を検索するにはどうすればよいですか?

  7. 7

    検索バーの作成中にAJAX操作を実装するにはどうすればよいですか?

  8. 8

    Swift 4で文字列内の部分文字列を検索するにはどうすればよいですか?

  9. 9

    Haskellで文字列内の文字列を検索するにはどうすればよいですか?

  10. 10

    この水平検索結果バーを実装するにはどうすればよいですか?

  11. 11

    C#で文字列に「検索、置換、次へ」を実装するにはどうすればよいですか?

  12. 12

    sedで「+」文字の文字列を検索するにはどうすればよいですか?

  13. 13

    再生時に曲に対応する検索を実装するにはどうすればよいですか?

  14. 14

    XML列全体でSQLの文字列を検索するにはどうすればよいですか?

  15. 15

    複数のWksheetsで文字列を同時に検索するにはどうすればよいですか?

  16. 16

    Bashで特定の文字列を含む行を検索するにはどうすればよいですか?

  17. 17

    AndroidでSpinnerを使用して検索を実装するにはどうすればよいですか?

  18. 18

    文字列内の文字を検索するにはどうすればよいですか?

  19. 19

    文字列内の文字を検索するにはどうすればよいですか?

  20. 20

    Pythonで再帰を使用して「配列内の最大値の検索」を実装するにはどうすればよいですか?

  21. 21

    JPA(Spring Data JPA)で単純な全文検索を実装するにはどうすればよいですか?

  22. 22

    JPA(Spring Data JPA)で単純な全文検索を実装するにはどうすればよいですか?

  23. 23

    djangoで検索機能を実装するにはどうすればよいですか?

  24. 24

    Jqueryで検索機能を実装するにはどうすればよいですか?

  25. 25

    Spring + Hibernate + MySQLで検索フィルターを実装するにはどうすればよいですか?

  26. 26

    Elastic Searchで文字列のリスト内を検索するにはどうすればよいですか?

  27. 27

    文字列で複数の単語を検索するにはどうすればよいですか

  28. 28

    Microsoft Officeで複数行の文字列を検索するにはどうすればよいですか?

  29. 29

    tweepyで複数の文字列を検索するにはどうすればよいですか?

ホットタグ

アーカイブ