Assez souvent je regarde dans la documentation d'Apple pour une méthode que je suis sûr existe mais ne se présente pas lorsque je recherche en utilisant la visionneuse de documentation de Xcode. Habituellement, dans ce cas, la méthode existe bel et bien, mais ce n'est pas d'Apple. Neuf fois sur dix, cela signifie que j'ai une méthode de la catégorie que j'ai utilisé tant de fois que j'ai oublié, Apple n'a pas le fournir. L'autre sur dix, c'est juste une indication que je suis croissance lente sénile.
Lorsque cela arrive, je tente d'afficher les méthodes de la catégorie, car je suppose que si j'ai utilisé la méthode suffisante au cours des années que je si elle venait d'Apple, puis d'autres personnes pourraient être en mesure de s'en servir.
Un peu de fonctionnalités que j'ai toujours été surpris, c'est pas dans la classe NSString est la capacité d'ajouter le contenu d'une chaîne sur un fichier existant. Il existe des méthodes pour créer ou remplacer un fichier avec le contenu d'une chaîne, alors pourquoi ne pas ajouter le contenu sur un fichier existant? C'est une tâche assez courante et très utile. Je l'ai utilisé pour créer des journaux d'applications, et pour d'autres situations où j'ai besoin de créer des fichiers volumineux qui ne serait pas pratique pour garder en mémoire. Cela est particulièrement agréable d'avoir sur iOS étant donné le manque de mémoire virtuelle.
Voici la méthode que j'utilise catégorie pour cela. J'ai creusé ce jusqu'à hier d'un ancien projet après avoir cherché pour elle dans la documentation d'Apple. J'ai dû mettre à jour un peu (il était assez vieux pour qu'il utilise les méthodes anciennes cString obsolète.
Lorsque cela arrive, je tente d'afficher les méthodes de la catégorie, car je suppose que si j'ai utilisé la méthode suffisante au cours des années que je si elle venait d'Apple, puis d'autres personnes pourraient être en mesure de s'en servir.
Un peu de fonctionnalités que j'ai toujours été surpris, c'est pas dans la classe NSString est la capacité d'ajouter le contenu d'une chaîne sur un fichier existant. Il existe des méthodes pour créer ou remplacer un fichier avec le contenu d'une chaîne, alors pourquoi ne pas ajouter le contenu sur un fichier existant? C'est une tâche assez courante et très utile. Je l'ai utilisé pour créer des journaux d'applications, et pour d'autres situations où j'ai besoin de créer des fichiers volumineux qui ne serait pas pratique pour garder en mémoire. Cela est particulièrement agréable d'avoir sur iOS étant donné le manque de mémoire virtuelle.
Voici la méthode que j'utilise catégorie pour cela. J'ai creusé ce jusqu'à hier d'un ancien projet après avoir cherché pour elle dans la documentation d'Apple. J'ai dû mettre à jour un peu (il était assez vieux pour qu'il utilise les méthodes anciennes cString obsolète.
#import <Foundation/Foundation.h>
@interface NSString(MCFileAppend)
- (BOOL)appendToFile:(NSString *)path usingEncoding:(NSStringEncoding)encoding;
@end
@implementation NSString(MCFileAppend)
- (BOOL)appendToFile:(NSString *)path usingEncoding:(NSStringEncoding)encoding
{
NSFileHandle *fh = [NSFileHandle fileHandleForWritingAtPath:path];
if (fh == nil)
return [self writeToFile:path atomically:YES encoding:encoding error:nil];
[fh truncateFileAtOffset:[fh seekToEndOfFile]];
NSData *encoded = [self dataUsingEncoding:encoding];
if (encoded == nil) return NO;
[fh writeData:encoded];
return YES;
}
@end
Aucun commentaire:
Enregistrer un commentaire