Iphone 在单元中设置开关On/Off(2.2.1至3.0错误)
我正在将我的应用程序升级到3.0,并且出现了一个2.2.1中不存在的新错误。事实上,这是我升级时遇到的唯一问题。。。除setText之外:是折旧警告 我有一个表格视图,单元格上有开关控件。随着视图的出现,我将根据从plist文件读取的值设置这些开关 问题:现在我已经转换为3.0,在设置切换值之前,我必须使用tabBar在这个tableView和任何其他视图之间来回切换两次。在第一次和第二次使用调试器时,我已经验证了它两次都通过了RefreshSwitchs函数。。。。i、 e.代码/函数的执行方式没有区别。。。在第一、第二或之后的任何时间 从plist正确读取值,但所有开关都已关闭…第一次显示视图时??任何想法 下面是在2.2.1中运行的代码,但在3.0中没有。注意:我加入了一个AlertView进行调试,并使用了正常的调试工具 第一次进入视图时,我会进入AlertView: 1不开 第二次和任何剩余时间,我进入AlertView上的视图: 1开着Iphone 在单元中设置开关On/Off(2.2.1至3.0错误),iphone,Iphone,我正在将我的应用程序升级到3.0,并且出现了一个2.2.1中不存在的新错误。事实上,这是我升级时遇到的唯一问题。。。除setText之外:是折旧警告 我有一个表格视图,单元格上有开关控件。随着视图的出现,我将根据从plist文件读取的值设置这些开关 问题:现在我已经转换为3.0,在设置切换值之前,我必须使用tabBar在这个tableView和任何其他视图之间来回切换两次。在第一次和第二次使用调试器时,我已经验证了它两次都通过了RefreshSwitchs函数。。。。i、 e.代码/函数的执行方
// I've Tried viewDid and Will Appear, both have the same result.
- (void)viewDidAppear:(BOOL)animated
{
[self refreshView];
}
- (void)refreshView{
UITableViewCell *cell;
UISwitch *switchView;
NSIndexPath *indexPath;
indexPath = [NSIndexPath indexPathForRow:0 inSection:1];
cell = [thisTableView cellForRowAtIndexPath:indexPath];
switchView = (UISwitch *)[cell viewWithTag:kSwitchTag];
switchView.on = ([SharedClass sharedSharedClass].tempVar == 1) ? YES : NO;
NSString *baseString = @"%u %@.";
NSString *onString = (switchView.on) ? @"IS on" : @"IS NOT on";
NSString *messageString = [[NSString alloc] initWithFormat:baseString, [SharedClass sharedSharedClass].tempVar, onString];
// TEMP DEBUG ALERTVIEW
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"INDICATOR Row Selected" message:messageString delegate:nil
cancelButtonTitle:@"Thanks" otherButtonTitles:nil];
[alert show];
[alert release];
[messageString release];
[self.thisTableView reloadData];
}
要回答关于牢房的问题。。。我没有将单元格传递给该方法,而是设置indexPath并创建指向该单元格的指针,以便访问该单元格上的开关控件。所以不,我不认为它会被设置为零。我认为单元格和tableView是存在的,因为在viewWill或viewDid出现之前,我不会尝试将指针指向单元格是否确定传递给此方法的单元格为零?这就解释了为什么在您将其设置为on后,该值为off