[ios]发送邮件表 NSArray

发布时间: 2017/3/21 23:09:12
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

这是我的 NSObject 代码;

Task.h

#import <Foundation/Foundation.h>

@interface Task : NSObject

@property (nonatomic,strong) NSString *name;
@property (nonatomic,assign) BOOL done;

-(id)initWithName:(NSString *)name done:(BOOL)done;

@end

Task.m

#import "Task.h"

@implementation Task

@synthesize name = _name;
@synthesize done = _done;

-(id)initWithName:(NSString *)name done:(BOOL)done {
    self = [super init];

    if (self) {
        self.name = name;
        self.done = done;
    }
    return self;
}

这是我发送邮件代码

Task *task = [[Task alloc]init];
        MFMailComposeViewController *sendmail = [[MFMailComposeViewController alloc]init];
        [sendmail setMailComposeDelegate:self];
        NSString *message = [_tasks addObject:task]; // Error is here.
        [sendmail setMessageBody:message isHTML:NO];
        [sendmail setSubject:@"Test"];
        [self presentViewController:sendmail animated:YES completion:nil];

不知道,如何去做。我只是想要发送邮件的列表。在哪里是我的错?和如何可以解决此问题?


Tasklistviewcontroller.m

@synthesize tasks = _tasks;

我把从任务的表视图。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *NotDoneCellIdentifier = @"NotDoneTaskCell";
    static NSString *DoneCellIdentifier = @"DoneTaskCell";

    Task *currentTask = [self.tasks objectAtIndex:indexPath.row];

    NSString *cellIdentifier = currentTask.done ? DoneCellIdentifier : NotDoneCellIdentifier;

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];

    // Configure the cell...
    cell.textLabel.text = currentTask.name;

    return cell;
}

解决方法 1:

我不知道什么是在您的代码完全错误的因为你不提供错误,我不是还精通目的 C.

我怀疑这是因为您引用到"_tasks",看不到其他用于创建该类的代码。

NSString *message = [_tasks addObject:task];

另一个问题是,您使用任务作为输入对象的数组,但它可能不包含的东西。

你大概不会不会就像这样︰

 Task *task = [[Task alloc] initWithName:@"Task 1"];
 NSString *message = [[NSString alloc] initWithFormat:@"Task name is %@", task.name];

此外我猜你没有寄出你完整的代码。

你也忘了,在你的头文件中包括正确的框架为邮件应用程序︰

#import <MessageUI/MFMailComposeViewController.h>

别忘了还添加框架它到您的项目 !

顺便说一句,您可以删除的两行 synthesize ,编译器会自动执行此这些天。很好不是吗?

赞助商