1

我在 iOS8 上的 Today Extensions 中有一些问题。我尝试使用 Xcode Debugger 和放置 nslogs 进行调试。我的代码中也没有逻辑。由于某些原因:

  1. 该小部件不显示任何数据(仅适用于 Hello World 标签)
  2. 调试不起作用,它没有达到任何断点。是否有任何特定的方式来调试扩展?

这是我的代码片段

@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; 
}
4

4 回答 4

3

写这个

[self setPreferredContentSize:self.tableView.frame.size];

在加载任何子视图(tableviewlabel)之前,我把这些写在viewDidLoad. 这个对我有用。

于 2014-10-27T01:32:19.370 回答
2

如果小部件未显示,您也可以尝试重新启动手机。

于 2014-07-31T04:48:08.160 回答
1

要调试扩展,您需要手动将小部件附加到调试器。

从 Xcode 菜单“调试”->“附加到进程”->“您的扩展包 ID”

于 2014-06-20T02:49:35.410 回答
0

如果您在设备上运行手机,还要确保手机已解锁。至少对我来说,运行小部件目标不会解锁手机,但如果我自己做它就可以了。

于 2014-07-22T09:35:21.973 回答