2016-05-30 11 views
2

implementieren Ich kann UISearchController für eine Tabellenansicht implementieren. Aber kann mir jemand bei der Implementierung der Suchleiste für die komplette App helfen?wie Uisearchcontroller für komplette App

In meiner Anwendung habe ich 3 View-Controller a) Studenten VC b) Lehrer VC c) Eltern VC

und ich habe eine Suche button. Hier möchte ich die komplette Suchfunktion in App implementieren. Wenn wir einen Namen eingeben, sollte er in einer Tabellenansicht erscheinen, entweder in Schüler/Eltern/Lehrer. Ich habe keine Ahnung, wie ich das anfangen soll. Bitte geben Sie ein KT.

+4

Hilfe benötigen Sie eine globale Array, das alle Daten über Schüler, Lehrer und Eltern enthalten, dann können Sie das Ergebnis als pro Ihre Erwartung erhalten. –

+0

Hallo Nitin .. Ich habe 3 verschiedene json/Wörterbuch für Eltern/Schüler/Lehrer .. Wie kann ich ein globales Array mit 3 JSON-Dateien machen? – dumb

+0

Überprüfen Sie diese create singlaton globale Klasse oder NSObject, Sie können auch mutablearray in appdelegate erstellen und verwenden http://stackoverflow.com/questions/199995395/how-and-where-do-i-initialize-an-global-nsmutablearray- in-xcode-5 –

Antwort

0

Ich versuche nur Singleton-Klasse zu erstellen, die Wert speichern und als global verwenden. So müssen Sie zuerst eine Singleton-Klasse erstellen folgenden Code:

#import <Foundation/Foundation.h> 

@interface GlobalData : NSObject 
{ 
    NSMutableArray *ClassArray; 
} 
+(GlobalData *) getInstance; 
-(void)saveClassARray:(NSArray *)array; 
-(NSMutableArray *)getGlobalArray; 

@end 

Es ist .M Klasse

#import "GlobalData.h" 
@implementation GlobalData 
static GlobalData *instanceGlobalData; 

+(GlobalData *) getInstance 
{ 
    static dispatch_once_t onceToken; 
    dispatch_once(&onceToken, ^{ 
     instanceGlobalData = [[GlobalData alloc] init]; 
     instanceGlobalData->ClassArray = [[NSMutableArray alloc]init];; 
    }); 

    return instanceGlobalData; 
} 

-(void)saveClassARray:(NSArray *)array 
{ 
    [ClassArray addObjectsFromArray:array]; 

} 
-(NSMutableArray *)getGlobalArray 
{ 
    return ClassArray; 
} 

@end 

Jetzt müssen Sie Ihre Schüler speichern, Lehrer und Eltern Daten durch folgenden Code.

Zuerst müssen Sie #import "GlobalData.h" in Ihrem Viewcontroller importieren und erstellen Variable definieren, die folgenden wie:

#import "GlobalData.h" 
#define USERDATASINGLETON (GlobalData *)[GlobalData getInstance] 

Und in Web-Service Rückruf Erfolg Sie Ihre Daten in globle Array mit folgendem Code speichern müssen:

Oben genannten Array ist nur für Ihre Referenz tun Sie die gleichen Dinge für alle Ihre 3 ViewController und speichern Sie das Ergebnis mit saveClassARray. Jetzt endlich müssen Sie mit dem folgenden Code vollständige Palette erhalten:

NSMutableArray *FinalGlobalArray = [USERDATASINGLETON getGlobalArray]; 
NSLog(@"==%@",FinalGlobalArray); 

Das wird NSLog allof die Daten, die Sie gespeichert haben. aber stellen Sie sicher, verwenden Sie einige überprüfen, dass , sobald Sie Lehrer, Schüler, Eltern Daten hinzufügen und wenn saveClassARray Aufruf wieder, dass alte Daten nicht übertreiben werden, dass doppelte Eintrag erstellen wird, so kümmern Sie sich um.

Jetzt haben Sie finalArray Sie können Ihren Suchcode tun, den Sie für einzelne getan haben.

Hoffnung, die

+0

ya..thank you.implementieren die Idee :) – dumb

Verwandte Themen