わかりました、私はここにいる誰かを私がN00bであることで困らせるつもりであることを知っているので、これは公正な警告と考えてください. 私は Obj-C に慣れたばかりなので、あなたにとって明らかなことは、おそらく私には理解できないでしょう。
私はTableViewControllersでこのチュートリアルに従ってきましたが、一生セルのタイトルを表示することはできません。サイトのすべてのコード行を切り取って小売りし、SIGABRT エラーをデバッグしましたが、今でもデータが表示されません。
MasterViewController.h および /.m ファイルの内容はそれぞれ次のとおりです。
ヘッダー ファイル:
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
#import <UIKit/UIKit.h>
@class DetailViewController;
@interface MasterViewController : UITableViewController <NSFetchedResultsControllerDelegate, UITableViewDelegate, UITableViewDataSource>
@property (strong, nonatomic) DetailViewController *detailViewController;
// Create property "equations" as an instance of NSArray:
@property (strong, nonatomic) NSMutableArray *equations;
@property (strong, nonatomic) NSFetchedResultsController *fetchedResultsController;
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@end
実装ファイル:
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
#import "MasterViewController.h"
#import "DetailViewController.h"
@interface MasterViewController ()
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath;
@end
@implementation MasterViewController
// Synthesize NSArray instance for equation storage:
@synthesize equations = _equations;
// Segue linking as per DetailViewController.h/.m:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"showDetail"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
DetailViewController *destViewController = segue.destinationViewController;
destViewController.equationName = [_equations objectAtIndex:indexPath.row];
}
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.navigationItem.leftBarButtonItem = self.editButtonItem;
UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertNewObject:)];
self.navigationItem.rightBarButtonItem = addButton;
self.detailViewController = (DetailViewController *)[[self.splitViewController.viewControllers lastObject] topViewController];
self.title = @"Equations";
if (!_equations)
{
_equations = [[NSMutableArray alloc] initWithObjects:
// Atomic structure equations:
@"Energy-Frequency Relation",
@"Energy-Frequency-Wavelength Relation",
@"Energy-Quantum Number Relation",
@"Momentum-Mass-Frequency",
@"Speed of Light Definition",
// Equilibrium equations:
@"Equilibrium Acid Constant",
@"Equilibrium Base Constant",
@"Water Equilibrium Constant",
@"pH Calculation",
@"pH-Acid Constant Relation",
@"pOH-Base Constant Relation",
@"pKa Derivation",
@"pKb Derivation",
@"pOH Calculation",
@"Gas-pressure Equlibrium",
// Gas/solution chemistry equations:
@"Ideal-Gas Law",
@"Partial-pressure equation",
@"Total pressure (3 partials)",
@"mol-Molarity Calculation",
@"Kelvin-Celsius Relation",
@"Fahrenheit-Celsius Relation",
@"Density Calculation",
@"Kinetic Energy per Molecule",
@"Kinetic Energy per Mol",
@"Molarity Equation",
@"Molality Equation",
@"Absorbance Equation",
@"Freezing Point Depression",
@"Boiling Point Elevation"
// Redox Equations:
@"Electrical current definition",
@"Equilibrium vs. Reduction Potential",
// Thermochemical relations:
@"Change in Free Energy",
@"Molar Heat Capacity",
@"Frequency to Rate Factor",
nil];
}
}
#pragma mark - Table View
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return call from NSArray *equations as to the count of elements in the table view:
return [_equations count];
}
- (UITableViewCell *)tableView: (UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
UILabel *lblName = (UILabel *)[cell viewWithTag:100];
[lblName setText:[_equations objectAtIndex:[indexPath row]]];
return cell;
}
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
// Return NO if you do not want the specified item to be editable.
return NO;
}
250行のコードすべてを割愛して、View Controller自体に関連すると思われる部分だけを切り出しました。接続に必要なコード行を単に省略しているだけだと何かが教えてくれますが、言語への完全な入門ステータスとデバッガーエラーの欠如は、私をそれにつまずかせません. 何か案は?どんな助けでも(つまらないことは除く)、大歓迎です。