2010-11-29 69 views
0

我想调试我的iPhone应用程序,它使用选择器作为方法参数“didFinishSelector:” 当我做了一步我的方法或步入Xcode,它会超过我的方法向前。一段时间后,我的方法完成它的工作,并且..它必须进入我的选择器功能,我想在Xcode中看到它。在Xcode调试选择器

这个信号机制是如何设计的?像经典的C叉或其他多线程?是否可以在可视化调试期间查看它?如果是,那么如何?

+0

我想你需要告诉我们什么代码你到目前为止。我真的不明白你在问什么。 – JeremyP 2010-11-29 11:50:46

回答

0
//create and authenticate to a google spreadsheet service 
    GDataServiceGoogleSpreadsheet *service = [ self spreadsheetService ]; 
    NSURL *feedURL = [ NSURL URLWithString: kGDataGoogleSpreadsheetsPrivateFullFeed ]; 

    //check autentication success (invoke "googleTicket" method for debug success & error) 
    [ service authenticateWithDelegate: self 
       didAuthenticateSelector: @selector(googleTicket: authenticatedWithError:) ]; 

    //fetch retrieves the feed of spreadsheets entries 
    GDataServiceTicket *ticket; 
    ticket = [ service fetchFeedWithURL: feedURL 
           delegate: self 
        didFinishSelector: @selector(spreadsheetsTicket: finishedWithFeed: error:) ]; 

下面是一个例子。当我正在调试时,我调用step-over,step-over,debugger通过方法[service authenticateWithDelage:didAuthenticateSelector:],直接进入[service fetchFeedWithURL:delegate:didFinishSelector:],然后继续前进。但我想看看,当这两种方法完成时,我想看看它是如何进入我的选择器“googleTicket:authenticateWithError”和“spreadsheetsTicket:finishedWithFeed:error:”

+0

我发现只有一种方法去选择器代码与调试器:我在选择器方法代码内的一行设置断点。当调试器通过所有步骤到程序结束时,当“step over”不去任何地方时,然后我按下“continue”并且调试器进入我的选择器内的断点。这样调试并不舒服,这个过程不是线性的。我想了解这个目标选择器如何工作,以及如何更好地调试它们。 – zkaje 2010-11-29 12:44:42