我在iOS8上的Today Extensions中遇到了一些问题。我尝试使用Xcode调试器和调用nslogs进行调试。我的代码中也没有逻辑。出于某种原因:
这是我的代码段
@implementation TodayViewController{
NSArray *localList;
}
-(void)awakeFromNib{
[super awakeFromNib];
[self loadList];
[self setPreferredContentSize:self.tableView.frame.size];
NSLog(@"inside awake from nib");
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
NSLog(@"inside view did load");
}
-(void)loadList{
NSMutableArray *mutableArray = [[NSMutableArray alloc]initWithCapacity:5];
[mutableArray addObject:@"asdjasdj"];
[mutableArray addObject:@"qowiepqiw"];
[mutableArray addObject:@"qoqwoei"];
[mutableArray addObject:@"pqoiweoqi"];
[mutableArray addObject:@"lkdsflk"];
[mutableArray addObject:@"kdjlkaj"];
localList = [mutableArray copy];
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [localList count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"WidgetCell"];
UILabel *label = [[UILabel alloc]init];
[label setText:[localList objectAtIndex:indexPath.row ]];
[[cell contentView]addSubview:label];
return cell;
}
答案 0 :(得分:3)
写这个
[self setPreferredContentSize:self.tableView.frame.size];
在加载任何子视图( tableview 或标签)之前,我将其写在viewDidLoad
中。它对我有用。
答案 1 :(得分:2)
要调试扩展,您需要手动将小部件附加到调试器。
从Xcode菜单" Debug" - > "附加到流程" - > "您的扩展程序包ID"
答案 2 :(得分:2)
如果小部件未显示,您也可以尝试重新启动手机。
答案 3 :(得分:0)
如果您在设备上运行手机,请确保手机已解锁。至少对我来说,运行小部件目标不会解锁手机,但如果我自己动手,它就可以正常工作。