标签: nsmutablearray

NSMutableArray在循环中的每次传递中被覆盖

问候可可大师 - 这个简单的问题让我爬上了墙.我有一个名为Movie的自定义类,它由一堆属性和一些集合组成.我使用FMDB和SQLite成功填充它.但是,每次从DB传递结果集合时,我的addObject:似乎都在写整个数组:

SciFiLib = [[NSMutableArray alloc]init];
FMResultSet *SciFiResultSet = [db executeQuery:@"select Movie.*......];
Movie *m = [[Movie alloc] init];

while ([SciFiResultSet next]) {
m.movieID =[SciFiResultSet stringForColumn:@"movie_id"];
m.title = [SciFiResultSet stringForColumn:@"title"];
.....
[SciFiLib addObject: m];
Run Code Online (Sandbox Code Playgroud)

在这一点上 - 我有NSLog的m输出 - 它包含一个不同的电影(标题,ID,发布日期等 - 所以我知道数据是正常的).但是,从第二次遍历WHILE循环开始,每个后续的addObject都会用下一个数据项的副本替换整个数组.所以在我的循环结束时,我有6份相同的电影数据.

我在这里只用了一系列电影标题来镜像我的自定义类,这看起来很有效,但我想为我的模型数据收集电影的所有属性.任何人都可以了解可能导致这种行为的原因吗?

在此先感谢您的帮助和建议!

...

arrays iphone cocoa nsmutablearray

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

更改数组内的值

例如:我有一个可变数组的BOOL(或[NSNumber numberWithBool:TRUE];).然后我想改变,例如这个数组中的第一个值为FALSE.

[array addObject:[NSNumber numberWithBool:TRUE]];
[array objectAtIndex:0] ??? 
Run Code Online (Sandbox Code Playgroud)

我知道一种非常奇怪的方式来完成这项任务.

[array replaceObjectAtIndex:0 withObject:[NSNumber numberWithBool:FALSE]];
Run Code Online (Sandbox Code Playgroud)

是的,这完全满足了我,但我正在寻找另一种方式,这比这更简单.喜欢的东西[[array objectAtIndex:0] setBoolValue:FALSE];,例如,想象一下,如果我有UIButton的,而不是布尔值将:[[array objectAtIndex:0] setHidden:TRUE];或者这仅仅是梦想?

提前致谢!

boolean objective-c nsmutablearray

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

IOS:在NSMutableArray的特定位置添加一个对象

在我的项目中,我想在NSMutableArray的特定位置添加一个对象,例如:

if(index ==1) {
// I want add object at position 1 of NSMutableArray
}

if(index == 2) {
// I want add object at position 2 of NSMutableArray
}
...
if(index == 15) {
// I want add object at position 15 of NSMutableArray
}
Run Code Online (Sandbox Code Playgroud)

我能怎么做?

xcode objective-c nsmutablearray ios

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

如何在iPHone中使用NSMutableArray添加数组值?

我有数据到可变数组和数组的值是,

     { "20", "40", "50","60", "70"}.
Run Code Online (Sandbox Code Playgroud)

我已将字符串值存储到数组中.

现在我想要数组的总值.结果是:240

谢谢!

iphone add nsmutablearray

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

存储在NSUserDefaults中的NSMutableArray不会保存数据

当用户通过我的iPhone应用程序登录时,我在NSUserDefaults中创建了一堆默认元素.其中一个是NSMutableArray,我添加了以下方式:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSMutableArray *theArray = [NSMutableArray array];
[prefs setObject:theArray forKey:@"theArray"];
Run Code Online (Sandbox Code Playgroud)

这完美无瑕.但是,当我想插入或检索值时theArray,出现问题.这是我的应用程序中另一个文件的摘录:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[[prefs objectForKey:@"theArray"] setValue:@"This is a value" forKey:@"aValue"];
NSLog(@"%@", [[prefs objectForKey:@"theArray"] valueForKey:@"aValue"]);
Run Code Online (Sandbox Code Playgroud)

我希望在代码运行时在控制台中看到"这是一个值",但我得到了这个:

2011-08-08 18:35:17.503 MyApp[7993:10d03] (
)
Run Code Online (Sandbox Code Playgroud)

为什么数组是空的?我使用NSArray尝试了同样的结果.

cocoa nsuserdefaults nsmutablearray ios

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

在UITableView中使用NSMUtableArray时出现问题

我有一个 NSMutableArray * nameCatalog包含names和urls(name, url).

如果我显示nameCatalog的viewDidLoad是这样的:

for (Catalogue *o in nameCatalog){
        NSLog(@"Catalog: %@", o.url);
    }
Run Code Online (Sandbox Code Playgroud)

我得到以下链接,这很好:

接下来我NSMutableArray * nameCatalog想把as内容放到一个表中.我实现了以下内容:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    NSURL *url=[NSURL URLWithString:[[nameCatalog objectAtIndex:indexPath.row] valueForKey:@"url"]];
     NSLog(@"the clicked url:%@", url);

}
Run Code Online (Sandbox Code Playgroud)

因此,当我单击表格的第一行时,它将显示第一个URL ...第二行,依此类推.

当我点击first row它时会显示这个

哪个是对的.

当我点击second row它时显示:

这也是正确的.

当我点击third row它时显示:

 (null)
Run Code Online (Sandbox Code Playgroud)

这是错的!

我哪里错了?

与第三个链接包含的事实有什么关系french e?

在这个词中coupé.

重要:

以上是为了简化,为了让每个人都清楚,我认为我NSMutableArray 只包含3个网址.

事实上它包含更多,大约20个网址french e.除了包含的网址外,一切都很顺利.当我点击表格的那些行 …

iphone xcode uitableview nsmutablearray

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

SIGABRT访问NSMutableArray

我遇到一个特定的错误; 我在这条线上得到"SIGABRT":

cell.textLabel.text = [collections objectAtIndex: [indexPath row]];
Run Code Online (Sandbox Code Playgroud)

我的头文件:

#import <UIKit/UIKit.h>

@interface CollectionsViewController : UITableViewController {
    NSMutableArray *collections;
    NSMutableData *responseData;
}
@property (nonatomic, retain) NSMutableArray *collections;

@end
Run Code Online (Sandbox Code Playgroud)

和实施文件:

#import "CollectionsViewController.h"
#import "JSON.h"


@implementation CollectionsViewController
@synthesize collections;

- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

}

#pragma mark - View lifecycle

- (void)viewDidLoad
{
    [super viewDidLoad];

    // …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c nsmutablearray ios

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

如何在NSMutableArray中存储和检索数组

你好朋友我想在NSMutableAray中存储NSMutableAray并想要检索它.我能够存储但无法访问它.我的代码如下:

NSMutableArray *muteArray;
NSMutableArray *muteArray_Master;
NSMutableArray *mutArrar_Level1;            


NSArray *Children = [dictionary objectForKey:@"Children"];

if (Children.count > 0) {
    muteArray = [NSMutableArray arrayWithArray:Children];
}

muteArray_Master= [[NSMutableArray alloc] init];
mutArrar_Level1= [[NSMutableArray alloc] init];



[muteArray_Master addObject:muteArray]; // muteArray_Master array added one object successfully 

i = [muteArray_Master count]; // Here I have i=1

mutArrar_Level1 = [NSMutableArray arrayWithArray:[muteArray_Master objectAtIndex:i-1]]; // But here mutArrar_Level1 not producing correct data.still it is with 0 objects  
Run Code Online (Sandbox Code Playgroud)

所以我的要求是存储多个NSMutableArray NSMutableArray并在另一个中访问all.

谢谢Deepak R.

objective-c nsmutablearray ios

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

从Singleton获取NSMutableDictionary?

我创建了一个单例类,以便在我的程序中共享一个对象.这是代码:

SelectedRow.h

#import <Foundation/Foundation.h>
#import "TableEntry.h"

@interface SelectedRow : NSObject {
    TableEntry *rowValue;
}

@property (nonatomic, retain) TableEntry *rowValue;

+ (id)sharedManager;
- (void)setVariable:(TableEntry*)value;

@end
Run Code Online (Sandbox Code Playgroud)

和SelectedRow.m

#import "SelectedRow.h"
#import "TableEntry.h"

@implementation SelectedRow

@synthesize rowValue;

+ (id)sharedManager {
    static SelectedRow *sharedMyManager = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        sharedMyManager = [[self alloc] init];
    });
    return sharedMyManager;
}

- (id)init {
    if (self = [super init]) {
        rowValue = [[TableEntry alloc] init];
    }
    return self;
}

- (void)setVariable:(TableEntry*)value {
    rowValue = value;
} …
Run Code Online (Sandbox Code Playgroud)

singleton objective-c nsmutablearray

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

[__NSCFNumber countByEnumeratingWithState:objects:count:]:发送到实例的无法识别的选择器

NSPredicate *predicate = [NSPredicate 
                             predicateWithFormat:@"todo_category_id IN %@" 
                                   argumentArray:array];
Run Code Online (Sandbox Code Playgroud)

todo_category_id是一个NSNumber-type属性.
array仅包含3个也是NSNumber类型对象的元素.

我想根据这些ID从Core Data中获取类别.

core-data nsmutablearray nsarray nspredicate ios

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