我是Objective-C和Xcode的新手,并且希望有人能够在基本的编程问题上给我一些帮助。
我希望将 TranslationRegions (自定义数据模型)添加到堆栈并调用它以在控制器中使用。
数组应为:
最终,数组项目将通过调用Web服务加载,但是现在我想通过代码在我的模型中加载项目。
我创建了一个带有.h和.m文件的对象(TranslationRegion),我希望用它来绑定一个表。
我可能会在这里发生严重错误,所以任何建议都会受到赞赏。
翻译区域目前只有一个属性descriptionOfRegion。
我首先包含了我的控制器,以显示我正在尝试做的事情,然后是我的模型的.h和.m文件。
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"Show Regions"])
{
// Need to instantiate the array in here and pass it to the 'setRegions' within the Table View Controller
//[segue.destinationViewController setRegions:regionArray];
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"MyApp Regions";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// Configure the region cell
id region = [self.regions objectAtIndex:indexPath.row];
cell.textLabel.text = [@"" stringByAppendingString:[TranslationRegion descriptionOfRegion:region]];
return cell;
}
#import <Foundation/Foundation.h>
@interface TranslationRegion : NSObject
@property (nonatomic, readonly) id region;
+ (NSString *)descriptionOfRegion:(id)region;
@end
#import "TranslationRegion.h"
@interface TranslationRegion()
@property (nonatomic, strong) NSMutableArray *regionStack;
@end
@implementation TranslationRegion
@synthesize regionStack = _regionStack;
- (NSMutableArray *)regionStack
{
if (_regionStack == nil) _regionStack = [[NSMutableArray alloc] init];
return _regionStack;
}
- (id)region
{
return [self.regionStack copy];
}
+ (NSString *)descriptionOfRegion:(id)region
{
return @"This value";
}
@end
答案 0 :(得分:2)
您的表视图控制器至少需要实现
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
可能
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
同样,表视图知道要求的单元格数。