Je ne suis pas en train de déterminer comment exécuter une requête dans Azure. J'ai finalement trouvé des inserts, mais maintenant j'essaye d'interroger Azure. Deux parties ici, comment puis-je retourner le résultat d'Azure et comment lire les résultats dans l'objectif-C?Query Azure à partir d'iOS
Jusqu'à présent, j'ai ce
-(double)GetValidAppVersion
{
// Create a proxy client for sending requests to the Azure platform.
MSClient *client = [MSClient clientWithApplicationURLString : @""
withApplicationKey : @"];
MSTable *appSettingsTable = [client getTable:@"AppSettings"];
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"Key == AppVersion"];
NSArray *queryResults = [[NSArray alloc] init];
[appSettingsTable readWhere:predicate completion:^(NSArray *results, NSInteger totalCount, NSError *error)
{
self.items = [results mutableCopy];
}];
return 1.0;
}
Je n'ai pas compris du côté Azure soit. Comment puis-je interroger et renvoyer un résultat en fonction du paramètre d'entrée?
Ma table est simple avec ID int clé varchar Valeur varchar
Toute aide à obtenir ce que cela va est grandement appréciée.
Edit:
J'ai ajouté à mon contrôleur
-(bool) IsAppVersionValid
{
AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
double validAppVersion = [delegate.appVersion doubleValue];
double serverAppVersion;
NSDictionary *item = @{ @"complete" : @(NO) };
[self.Service SelectAppVersion:item completion:^(NSUInteger index)
{
}];
return true;//clientVersion >= validAppVersion;
}
Et cela à mon service (ce qui est bâclée comme il devrait être un simple bloc d'achèvement - Je voudrais passer NSString * avec la AppSettings valeur de clé et l'utiliser dans le prédicat ainsi. Toute réflexion sur la syntaxe pour cela?
typedef void (^CompletionWithAppVersionBlock)(NSUInteger index);
- (void) SelectAppVersion:(NSDictionary *) item
completion:() completion;
Ok, je l'ai maintenant, mais bloqué sur comment cela fonctionne réellement. – MisterOver
Pourvu qu'il fonctionne maintenant, je lirais sur les blocs pour obtenir une meilleure compréhension (comme ici: http://chrisrisner.com/31-Days-of-iOS--Day-7%E2%80%93Making-Network -Requêtes). Essentiellement, les appels MSTable (comme readWhere) s'attendent à recevoir un bloc de code qu'ils peuvent appeler quand ils sont terminés. Il n'y a aucun moyen (en dehors de regarder le SDK et de trouver comment faire un appel synchrone) de faire ce que vous faisiez à l'origine. Est ce que ça aide? – Chris