标签: nsmutablearray

addObject到NSMutableArray不适用于iPhone App

关于这个主题有一些线索,但没有一个能够解决我的问题.本质上我正在尝试将自定义对象添加到NSMutableArray,它似乎没有添加.我没有得到任何错误,但我得到一个警告,说我的数组是一个"未使用的变量",所以看起来它没有被使用.见下面的代码.任何帮助表示赞赏!

这是app委托中的初始化(在运行时它表示没有使用此数组):

NSMutableArray *organArray = [[NSMutableArray alloc] init];
Run Code Online (Sandbox Code Playgroud)

这是我的对象类organ.m(我正在导入app delegate,rootviewcontroller和organ.h文件)

Organ *organObj = [[Organ alloc] initWithPrimaryKey:primaryKey];
organObj.organName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt,1)];
organObj.isDirty = NO;

[appDelegate.organArray addObject: organObj];

[organObj release];
Run Code Online (Sandbox Code Playgroud)

我知道organObj.organName从我的sqlite数据库中获取正确的值,因为我可以将它们输出到控制台.它们似乎没有被添加到数组中,并且它表示数组未被使用意味着出错了.

提前致谢

iphone objective-c nsmutablearray

5
推荐指数
1
解决办法
3437
查看次数

如何将NSMutableArray用作UITableView的DataSource

我有一个带有数据的NSMutableArray(硬编码).

我实现了这两个TableView方法,在IB中,我设置了委托和数据源

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [myArray count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"UITableViewCell"];

    if (!cell) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"UITableViewCell"] autorelease];
    }

    cell.textLabel.text = [myArray objectAtIndex:[indexPath row]];
    NSLog(@"Cell is %@", [myArray objectAtIndex:indexPath.row]);
    return cell;
}
Run Code Online (Sandbox Code Playgroud)

数据不会出现在TableView中.我已经运行了NSLog,我可以看到数据在myArray中.

我将NSLog添加到代码中,似乎代码永远不会执行.问题是我的数组是如何创建的?

这是代码

- (id)init:(NSMutableArray *)theArray
{
    [super init];
    countryTable.delegate = self;
    countryTable.dataSource = self;

    UITapGestureRecognizer * tapRecognizer = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)] autorelease];
    [window addGestureRecognizer:tapRecognizer];

    myArray = [[NSMutableArray alloc] init]; 
    myArray = …
Run Code Online (Sandbox Code Playgroud)

uitableview nsmutablearray iphone-sdk-3.0 ios4 ios

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

如何反转NSMutableArray中的数据?

可能重复:
如何在目标C中以相反的顺序显示数组

我有一个NSMutableArray和这个数组包含很好的信息UITableView.但我想先显示最新信息UITableView.现在最早的信息是第一位的UITableView.我的代码如下:

NSMutableArray *entries = [NSMutableArray array];
[self parseFeed:doc.rootElement entries:entries];
for (RSSEntry *entry in entries) {
    [allEntries insertObject:entry atIndex:0];   //insertIdx];
    [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:0]] withRowAnimation:UITableViewRowAnimationRight];
}
Run Code Online (Sandbox Code Playgroud)

那么我该如何反转信息NSMutableArray呢?

iphone xcode objective-c nsmutablearray ios4

5
推荐指数
2
解决办法
3318
查看次数

如何将NSMutableArray转换为NSString?

我想将a(或复制?)NSMutableArray转换为a NSString.我想我的问题是我并不真正了解a的结构NSString.转换后我想将它附加到电子邮件正文中.这是我的代码:

- (IBAction)sendEmail
{
    NSLog(@"sendEmail");
    [textView resignFirstResponder];
    [textView1 resignFirstResponder];
    if ([MFMailComposeViewController canSendMail])
    {
        // set the sendTo address
        NSMutableArray *recipients = [[NSMutableArray alloc] initWithCapacity:1];
        [recipients addObject:@"example@yahoo.com"];
        MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
        controller.mailComposeDelegate = self;
        [controller setSubject:@"Iphone Game"];
        NSString *string = [string appendString:[NSString stringWithFormat:"%@", [viewArray objectAtIndex:i]]];
        [controller setMessageBody:string isHTML:NO];
        [controller setToRecipients:recipients];
        [self presentModalViewController:controller animated:YES];
        [controller release];
    }
    else 
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert"
 message:@"Your device is not set up for email." delegate:self …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsmutablearray nsarray ios

5
推荐指数
1
解决办法
7126
查看次数

使用和不使用容量初始化NSMutableArray

可能重复:
NSMutableArray initWithCapacity细微差别
Objective-c NSArray init与initWithCapacity:0

以下代码行有什么区别?什么是确切的优势和劣势?假设接下来我将做3个addObject操作.

NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity: 5];
NSMutableArray *array = [[NSMutableArray alloc] init];
Run Code Online (Sandbox Code Playgroud)

xcode objective-c nsmutablearray

5
推荐指数
2
解决办法
5530
查看次数

如何将多个NSIndexPath添加到NSMutableArray中

我试图将nsindexpath添加到一个数组..我只能添加一个索引路径.如果我尝试将另一个索引路径添加到数组..调试器只显示最新的索引路径.

 for (int i = 0 ; i<[notificationArray count]; i++)
        {
            selectedSymptIndexPath = [NSIndexPath indexPathForRow:selectedSymptomIndex inSection:keyIndexNumber];
            selectedSympIPArray = [[NSMutableArray alloc]init];
            [selectedSympIPArray addObject:selectedSymptIndexPath];
        }
Run Code Online (Sandbox Code Playgroud)

即使我试图将[selectedSympIPArray addObject:selectedSymptIndexPath];外部循环仍然只添加最新的索引路径而不是显示多个索引路径

iphone objective-c nsmutablearray nsindexpath ios

5
推荐指数
2
解决办法
3950
查看次数

将NSMutableArray转换为具有相同顺序的NSSet

我怎么能以编程方式做到这一点?

我被告知这是做到这一点的方式但是NSSet有不同的顺序.

NSSet *set = [NSSet setWithArray:theArray];
Run Code Online (Sandbox Code Playgroud)

任何的想法?

提前致谢.

objective-c nsmutablearray nsset ios

5
推荐指数
1
解决办法
5135
查看次数

向检索到的NSMutableArray添加新对象 - 返回NSInternalInconsistencyException

当我尝试向检索到的对象添加对象时,我不断收到此错误NSMutableArray.

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFArray insertObject:atIndex:]: mutating method sent to immutable object'
Run Code Online (Sandbox Code Playgroud)

检索:

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    NSMutableArray *arrayOfTitles = [userDefaults objectForKey:@"mainArraySaveData"];
    NSMutableArray *arrayOfSubjects = [userDefaults objectForKey:@"subjectArraySaveData"];
    NSMutableArray *arrayOfDates = [userDefaults objectForKey:@"dateArraySaveData"];

    _mutableArray=arrayOfTitles;
    _subjectArray=arrayOfSubjects;
    _dateArray=arrayOfDates;

    [_tableView reloadData];
Run Code Online (Sandbox Code Playgroud)

保存:

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
_mutableArray = [[NSMutableArray alloc] initWithArray:[userDefaults objectForKey:@"mainArraySaveData"]];
[userDefaults setObject:_mutableArray forKey:@"mainArraySaveData"];
[userDefaults synchronize];

_dateArray = [[NSMutableArray alloc] initWithArray: [userDefaults objectForKey:@"dateArraySaveData"]];
[userDefaults setObject:_dateArray forKey:@"dateArraySaveData"];
[userDefaults synchronize];

_subjectArray = [[NSMutableArray alloc] initWithArray: [userDefaults …
Run Code Online (Sandbox Code Playgroud)

objective-c nsmutablearray ios

5
推荐指数
1
解决办法
112
查看次数

除了NSMutableArray IOS中的第一个索引之外,如何删除所有索引处的对象

我有1个mutablearray,我想删除对象的所有索引,但在第一个索引处保持对象.示例:输入:数组(a,b,c,d,e)输出:数组(a)

你能帮助我吗.提前致谢

objective-c nsmutablearray ios

4
推荐指数
1
解决办法
6577
查看次数

writeToFile不使用NSDictionary

我环顾了其他类似的问题,但没有真正有效.

我设法在我的Plist上只写了一对字典对(对象/键)(例如:setObject:itemProperties [0] forKey [0]).但我希望添加所有的对象和密钥.到目前为止我没有管理(返回错误).有帮助吗?

 // Path to Documents Folder

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"items.plist"];
NSFileManager *fileManager = [NSFileManager defaultManager];

if (![fileManager fileExistsAtPath: path])
{
    path = [documentsDirectory stringByAppendingPathComponent: [NSString stringWithFormat: @"items.plist"] ];
}

NSMutableDictionary *items;

if ([fileManager fileExistsAtPath: path])
{
    items = [[NSMutableDictionary alloc] initWithContentsOfFile: path];
}
else
{
    // If the file doesn’t exist, create an empty dictionary
    items = [[NSMutableDictionary alloc] initWithCapacity:5];
}

// array of …
Run Code Online (Sandbox Code Playgroud)

nsdictionary plist nsmutablearray ios

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