菜鸟教程小白 发表于 2022-12-12 14:01:10

iOS 程序流程 - 等待用户输入


                                            <p><p>我是 iOS 编程新手,正在尝试找出如何中断程序流以等待响应。</p>

<p>基本上我想从我的应用程序发送一封电子邮件,并提供数据是什么,我想提示用户添加更多信息。</p>

<p>即:</p>

<pre><code>- (IBAction)sendEmail:(id)sender {

MyManagedObject *myObj = nil;

//Retrieve from the database.
NSManagedObjectContext *ctx = ;
NSFetchRequest *request = [ init];
NSEntityDescription *entity = ;
;

NSError *error;
NSArray *array = ;
NSUInteger count = ; // May be 0 if the object has been deleted.
if (count &gt; 0) {
    myObj = (MyManagedObject *);
}

//Recipients
NSArray *toRecipents = [init];
// Email Subject
NSString *emailTitle = [@&#34;Report for Month of: &#34; stringByAppendingString: dateString] ;
// Email Content
NSString *messageBody = @&#34;&#34;;
if(myObj != nil) {
    if (myObj.firstName) {
      messageBody = ];
      toRecipents = ;
    }
}
messageBody = ;
messageBody = ];

NSString *addInfo = OPEN WINDOW FOR USER TO ADD INFO

if (addInfo != nil) {
messageBody = ];
}

... send the email
}
</code></pre>

<p>我不确定在没有回调的情况下这是否可行。基本上我想打断流程,放置一个覆盖并等待它在完成电子邮件之前关闭......</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>据我了解,您尝试做的是显示自定义对话框或警报 View ,并且仅在其返回值上,代码应该进一步执行。</p>

<p>可以这么说,如果您在 <code>UITextView</code> 内显示 <code>UIAlertView</code> 以添加更多信息,则应将 <code>sendEmail</code> 方法移至回调alertview 的按钮。同样,如果您要使用一些自定义对话框,那么您应该在自定义对话框中编写一个回调到主窗口,然后在该回调中,您应该编写用于发送电子邮件的代码。</p>

<p>我认为,像这样的回调机制是您选择的唯一解决方案,如果您希望所有内容都写在同一个代码块中,那么您可以使用 <a href="https://developer.apple.com/library/ios/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/WorkingwithBlocks/WorkingwithBlocks.html" rel="noreferrer noopener nofollow">blocks in objective-c</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于iOS 程序流程 - 等待用户输入,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/18564623/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/18564623/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS 程序流程 - 等待用户输入