Je fais une application iPhone et je travaille dans cette tableViewController, mais lorsque vous testez, je reçois cette erreur, et je ne sais pas vraiment quoi faire avec cela: Quelqu'un a eu une idée? p> Ceci est mon fichierTableViewController.m Fichier: P> #import "SessionsTableViewController.h"
#import "Session.h"
@interface SessionsTableViewController()
@property (nonatomic, copy) NSArray *sessions;
@end
@implementation SessionsTableViewController
@synthesize sessions = _sessions;
#pragma mark - View lifecycle
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSMutableArray *sessions = [[NSMutableArray alloc] init];
// Looking for files
// Finding the Documents directory
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0];
NSArray *directoryContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:nil];
// Looping through each file in the directory
for (NSString *file in directoryContent)
{
NSString *contents = [NSString stringWithContentsOfFile:[[paths objectAtIndex:0] stringByAppendingPathComponent:file] encoding:NSUTF8StringEncoding error:nil];
Session *session = [[Session alloc] initWithName:file andContents:contents];
[sessions addObject:session];
}
self.sessions = sessions;
}
#pragma mark - Table view data source
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [self.sessions count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Session Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
//cell.textLabel.text = [[self.sessions objectAtIndex:indexPath.row] name];
//cell.detailTextLabel.text = [[NSString alloc] initWithFormat:@"%d hands", 10];
return cell;
}
#pragma mark - Table view delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Navigation logic may go here. Create and push another view controller.
/*
<#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
// ...
// Pass the selected object to the new view controller.
[self.navigationController pushViewController:detailViewController animated:YES];
*/
}
@end
3 Réponses :
On dirait que vous avez mal câblé dans le constructeur d'interface incorrectement. Il semble que vous ayez joint quelque chose à un point de vente appelé Ainsi, vous devez joindre la propriété datasource code> dans votre
sessionStableViewController code>. On dirait que vous vouliez probablement le faire à l'inverse, car je suppose que vous avez une vue de table dans
sessionStableViewController code>. P>
DataSource code> de la vue de votre table à votre instance de
SessionStableViewController code> (probablement "propriétaire du fichier" dans votre cas), plutôt que l'autre chemin autour. P>
Je vois, j'ai défini mon séanceStableViewController comme classe personnalisée pour ma tableView au lieu de ma tableViewController, merci, c'est ce que je cherchais, tout fonctionne maintenant.
Vérifiez que vous n'avez pas spécifié la mauvaise application dans le module marqué de la case (juste en classe). Ceci est dans l'inspecteur d'identité du constructeur d'interface utilisateur. P>
Vous ne devriez normalement pas avoir quelque chose de spécifié en tant que module, car il est par défaut à une entrée de sortie grisée «Actuelle ...», ce qui signifie sa disponible dans toutes les applications. Mais si vous avez spécifié une application ici, l'élément d'interface utilisateur ne sera disponible sur aucune autre application de votre projet, ce qui vous donne le message d'erreur sujet lorsque vous essayez d'exécuter d'autres applications. P>
C'était mon problème ... P>
Si ce commentaire répond à la question, il n'est pas immédiatement de préciser comment. Envisager de reformuler?
Je ne sais pas comment j'avais d'autre chose que je peux le communiquer. Si vous avez quelque chose de spécifié dans le module, vous obtiendrez l'erreur de l'OP spécifiée lorsque vous essayez de créer un autre module.
Cette erreur se produit généralement lorsque les points de vente ne sont pas connectés correctement. Dans ma vérification de cas, la connexion ne le résoudrait toujours. P>
Découvrez NSLOG la session d'abord