小编Rod*_*Rod的帖子

无法解雇MFMailComposeViewController,委托未调用

我打电话MFMailComposeViewControllerUITableViewController.问题是当我在"邮件撰写"窗口中选择" 取消"或" 发送"按钮时,从不调用委托方法:

mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult 
Run Code Online (Sandbox Code Playgroud)

这是表视图类:

@implementation DetailsTableViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.section==0 && indexPath.row==4) {
        //SEND MAIL
        MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
        controller.mailComposeDelegate = self;
        if ([MFMailComposeViewController canSendMail]) {
            [controller setSubject:[NSString stringWithFormat:@"Ref %@",[item objectForKey:@"reference"]]];
            [controller setMessageBody:@" " isHTML:NO]; 
            [controller setToRecipients:[NSArray arrayWithObject:[item objectForKey:@"email"]]]; 
            [self presentModalViewController:controller animated:YES];
        }
        [controller release];       
    }
}

- (void)mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
    // NEVER REACHES THIS PLACE
    [self dismissModalViewControllerAnimated:YES];
    NSLog (@"mail finished");
}
Run Code Online (Sandbox Code Playgroud)

应用程序不会崩溃.按下"取消"或"发送"按钮后,"构建窗口"将停留在屏幕上并禁用按钮.我可以按Home键退出应用程序.

我可以打开TableView的其他模态视图,但不能打开MailCompose.

cocoa-touch objective-c ios mfmailcomposeviewcontroller

51
推荐指数
2
解决办法
2万
查看次数

你如何在XCode中复制文件?

谁知道一个好的解决方案?

到目前为止,我还没有找到比使用文件>新文件然后将内容从旧文件复制到新文件更好的方法.

您可以在Finder中复制并重新导入,但这几乎是相同的工作量:切换到finder,复制,导入新文件.

使用一个类执行此操作并不是很难,但如果需要基于超类生成10个以上类似的类,该怎么办.

在Eclipse中,您选择文件,然后将其复制/粘贴到同一文件夹中.在finder中有重复.

有一个菜单Edit> Duplicate.但它总是被禁用.我尝试选择各种文件,类,方法.它仍然被禁用.

iphone objective-c

39
推荐指数
3
解决办法
1万
查看次数

如果在滚动期间更新数据源,则UITableView会崩溃

我有一个应用程序,其中UITableView的数据源每隔30秒由一个后台线程从远程服务器更新.

如果用户正在滚动tableView或者正在进行tableView,则会发生崩溃reloadTableView:.崩溃的原因是崩溃时表中的行数与重绘开始时的行数不匹配.

当请求的TableView单元格超出范围时会发生另一次崩溃,因为在numberofTableViewCells:调用时间和调用时间之间cellfForRowAtIndexPath,数据模型已更改且单元格不再存在.

tableView的数据从后台线程更新.在从服务器加载数据时,用户仍应能够与tableView进行交互,但现在导致崩溃.

在更新tableViewDataSource时,如何阻止tableView滚动或重新加载?这种情况的最佳做法是什么?

谢谢.

iphone uitableview

24
推荐指数
2
解决办法
9046
查看次数

如何检测UITableView的滚动?

有一个类似的问题,但答案很笼统,模糊.(检测UITableView滚动)请不要忽略.我正在寻找具体的解决方案.

我有UITableView可编辑的文本字段,并在选择另一个单元格时出现PickerView.我需要的是在用户开始滚动时隐藏firstResponder或PickerView UITableView.

到目前为止,检测UITableView滚动有一个你应该继承的消息UITableView.如果你的子类UITableView仍然是内部/私人UIScrollView无法访问.如何访问UITableView父ScrollView(不违法)?

谢谢.

iphone uitableview

15
推荐指数
3
解决办法
2万
查看次数

UITableView滑动删除:如何自定义按钮和动作?

我想执行不同的操作,不是删除对象而是归档它们.当用户在tableViewCell上刷卡时,我需要显示"存档"而不是删除.将"删除"按钮文本和颜色更改为其他内容.

如何自定义"删除模式"外观?

iphone objective-c uitableview

6
推荐指数
1
解决办法
3648
查看次数

可以从getter返回属性副本吗?

我有以下简单的课程:

@interface Article: NSObject {
    NSString *title;
}
@property (copy, nonatomic) NSString *title;
@end

@implementation

- (void)setTitle:(NSString *)aString {
    if ((!title && !aString) || (title && aString && [title isEqualToString:aString])) return;
    dirty = YES;
    [title release];
    title = [aString copy];
}

- (NSString *)title {
    return title;
}

@end
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,我必须做很多事情

Article *article= [objectsArray getObjectAtIndex:x];
NSString *title=article.title;
UILabel.text=title;
[title release];
Run Code Online (Sandbox Code Playgroud)

我知道当我拿到房产时我应该叫保留:

NSString *title=[article.title retain];
Run Code Online (Sandbox Code Playgroud)

也许我懒得去保留我得到的地方.或者如果我需要在整个应用程序中执行数十次.

我可以得到一份副本吗?

- (NSString *)title {
    return [title copy];
}
Run Code Online (Sandbox Code Playgroud)

memory-management properties objective-c

2
推荐指数
1
解决办法
1196
查看次数