标签: nsmutablearray

来自NSMutableArray和NSDictionary项目的唯一项目?

如果你有一个带有三个NSDictionarys的NSMutableArray,如下所示:

{ 
  name:steve, age:40;
  name:steve, age:23;
  name:paul, age:19
}
Run Code Online (Sandbox Code Playgroud)

如何将其转换为只有两个字符串的数组{steve,paul}.换句话说,来自原始NSMutableArray的唯一名称?有没有办法使用块来做到这一点?

cocoa-touch nsdictionary nsmutablearray ios objective-c-blocks

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

从NSMutableArray中删除对象

我有两个要素:

NSMutableArray* mruItems;
NSArray* mruSearchItems;
Run Code Online (Sandbox Code Playgroud)

我有一个基本上UITableView保持mruSearchItems,并且一旦用户滑动并删除特定行,我需要在其中找到该字符串的所有匹配mruItems并从那里删除它们.

我没有充分使用NSMutableArray,我的代码由于某些原因给了我错误:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
    //add code here for when you hit delete
    NSInteger i;
    i=0;
    for (id element in self.mruItems) {
        if ([(NSString *)element isEqualToString:[self.mruSearchItems objectAtIndex:indexPath.row]]) {

            [self.mruItems removeObjectAtIndex:i];
        }
        else
           {
            i++;
           }
    }
    [self.searchTableView reloadData];

}    
Run Code Online (Sandbox Code Playgroud)

}

错误:我现在看到一些字符串不在引号之间(UTF8中的字符串是)

Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x1a10e0> was mutated while being enumerated.(
    "\U05de\U05e7\U05dc\U05d3\U05ea",
    "\U05de\U05d7\U05e9\U05d1\U05d5\U05df", …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c nsmutablearray ios

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

iOS - 将数组对象的副本复制到另一个数组对象中

我有一点问题,我需要帮助.

我想循环遍历一个多维数组,每次我找到一个密钥ex的值."name"等于ex."你好".我想将该数组对象复制到另一个数组中.

我怎么做?

iphone nsmutablearray nsarray ios ios5

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

目标C:通过字典键的值过滤掉NSMutableArray的结果?

我有一个像这样的NSMutableArray:

(
        {
        City = "Orlando";
       Name = "Shoreline Dental";
        State = Florida;
    },
        {
        City = "Alabaster ";
        Name = Oxford Multispeciality;
        State = Alabama;
    },
        {
        City = Dallas;
        Name = "Williams Spa";
        State = Texas;
    },
        {
        City = "Orlando ";
        Name = "Roast Street";
        State = Florida;
    }
)
Run Code Online (Sandbox Code Playgroud)

现在,我如何对这个NSMutableArray进行排序,以获得与我希望获得的状态"佛罗里达"相对应的结果

(
        {
        City = "Orlando";
       Name = "Shoreline Dental";
        State = Florida;
    },
 {
        City = "Orlando ";
        Name = "Roast Street";
        State = Florida;
    } …
Run Code Online (Sandbox Code Playgroud)

iphone nsmutablearray ios xcode4.5

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

在里面找到字典键和字典数组

我有一个包含多个NSMutableDictionary对象的数组.

每次填写文本字段并按下提交按钮:

//The strings
NSString *dateString = @"Date";
NSString *timeString = @"Time";
NSString *typeString = @"Type";

- (IBAction)addData:(id)sender {

[_myDictionary setObject:_dateLabel.text forKey:dateString];
[_myDictionary setObject:_nNumber.text forKey:timeString];
[_myDictionary setObject:_type.text forKey:typeString];

[_myArray addObject:_myDictionary];

[self display]
}
Run Code Online (Sandbox Code Playgroud)

然后我试图在UItextView中显示结果(在这个例子中是日期),但我不知道如何.

    -(void)displayData{

    for (int i = 0; i<_myArray.count; i++) {
        [_myArray objectAtIndex:i];
        outputString = [outputString stringByAppendingFormat:@"%@\n",[_myDictionary objectForKey:@"Date"]];

    }
    _myTextView.text = [NSString stringWithFormat:@"%@",outputString];

}
Run Code Online (Sandbox Code Playgroud)

这最终显示数组中最后一个Dictionary的日期.我甚至无法弄清楚如何从特定的字典中记录日期.
说[_myArray objectAtIndex:3] [_myDictionary objectForKey:@"Date"].我如何记录第三个索引的日期?

希望这是有道理的

EDIT SOLUTION

for (int i = 0; i<_myArray.count; i++)
    {

        outputString = [outputString stringByAppendingFormat:@"%@ …
Run Code Online (Sandbox Code Playgroud)

nsmutablearray nsmutabledictionary ios

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

从NSMutableArray中删除对象时崩溃

我有一个NSMutableArray我初始化的viewDidLoad:

 self.titlesTagArreys = [@[@"Dollar", @"Euro", @"Pound",@"Dollar longString", @"Euro longStringlongString", @"Pound",@"Dollar", @"Euro", @"PoundlongStringlongString"]mutableCopy];
Run Code Online (Sandbox Code Playgroud)

在.h:

 @property(nonatomic, copy) NSMutableArray* titlesTagArreys;
Run Code Online (Sandbox Code Playgroud)

当我尝试删除一个项目时,应用程序崩溃:

-(void)removeButtonWasPressed:(NSString*)tagTitle{
    NSLog(@"tagTitle - %@",tagTitle);
    NSLog(@"self.titlesTagArreys - %@",self.titlesTagArreys);    
    [self.titlesTagArreys removeObject:tagTitle];
}
Run Code Online (Sandbox Code Playgroud)

这是日志:

2013-08-06 16:15:03.989 EpicTv[6378:907] tagTitle - Dollar
2013-08-06 16:15:03.991 EpicTv[6378:907] self.titlesTagArreys - (
    Dollar,
    Euro,
    Pound,
    "Dollar longString",
    "Euro longStringlongString",
    Pound,
    Dollar,
    Euro,
    PoundlongStringlongString
)
[__NSArrayI removeObject:]: unrecognized selector sent to instance 0x1c53bbd0
 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI removeObject:]: unrecognized selector sent to …
Run Code Online (Sandbox Code Playgroud)

objective-c nsmutablearray

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

在NSMutableArray中轻松交换对象

我有一个NSMutableArray的UIViews,我把在UIScrollView其负责将它们按顺序.现在我有这个代码用于互换两个UIViews位置:

UIView *viewToBeChanged = [views objectAtIndex:self.page];
UIView *previousView = [views objectAtIndex:previousPage];

[views removeObjectAtIndex:self.page];
[views removeObjectAtIndex:previousPage];

[views insertObject:viewToBeChanged atIndex:previousPage];
[views insertObject:previousView atIndex:self.page];
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来改变NSMutableArray另一个对象的位置?谢谢!

cocoa-touch objective-c uikit nsmutablearray ios

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

[__NSArrayM objectForKeyedSubscript:]:无法识别的选择器发送到实例 - 源代码和附件截图

在GitHub我有一个简单的iPhone应用程序,它从社交网络Mail.ru获取用户信息(通过使用OAuth):

应用截图

它确实获取并打印信息,但随后崩溃.

作为一个iOS编程新手,我对下面的输出感到困惑(也请看看PasteBin的完整输出):

2014-01-21 21:21:10.873 oauthMailru[8228:3307] -[__NSArrayM objectForKeyedSubscript:]: unrecognized selector sent to instance 0x8a97290
2014-01-21 21:21:10.875 oauthMailru[8228:3307] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM objectForKeyedSubscript:]: unrecognized selector sent to instance 0x8a97290'
*** First throw call stack:
(
    0   CoreFoundation                      0x01aa65e4 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x018298b6 objc_exception_throw + 44
    2   CoreFoundation                      0x01b43903 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275
    3   CoreFoundation                      0x01a9690b ___forwarding___ + 1019
    4   CoreFoundation                      0x01a964ee _CF_forwarding_prep_0 + 14
    5   oauthMailru                         0x00003a62 __47-[ViewController fetchMailruWithToken:ForUser:]_block_invoke …
Run Code Online (Sandbox Code Playgroud)

objective-c nsmutablearray ios unrecognized-selector

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

从NSString中删除重复的单词并另存为新的NSString

我有一些场景,我可能有一个包含几个单词的NSString,其中一些是重复的.我想要做的是采取一个看起来像这样的字符串:

One Two Three Three Three Two Two Two One One Two Three
Run Code Online (Sandbox Code Playgroud)

并使它看起来像:

One Two Three
Run Code Online (Sandbox Code Playgroud)

可能有时候原始NSString的确切长度也不同.到目前为止我所拥有的是:

NSString *hereitis = @"First Second Third Second Third First First First";
    NSArray *words = [hereitis componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    NSCountedSet *countedSet = [NSCountedSet setWithArray:words];
    NSMutableArray *finalArray = [NSMutableArray arrayWithCapacity:[words count]];

for(id obj in countedSet) {
    if([countedSet countForObject:obj] == 1) {
        [finalArray addObject:obj];
    }
}
NSString *string = [finalArray componentsJoinedByString:@" "];
NSLog(@"String%@", string);
Run Code Online (Sandbox Code Playgroud)

但是,这只是在我的数组中返回String,而不是任何单词.

objective-c nsstring nsmutablearray nsarray ios

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

在IOS 11时,Xcode 9无法投类型"Swift._EmptyArrayStorage"到"的NSMutableArray"的值

看起来我们无法将varSwift中的空数组转换为Objc中的NSMutableArray.

var adultTravelerModels: [TravelerDataModel] = []
BookDataManger.sharedInstance().arraySelectedAdultPassenager = adultTravelerModels as! NSMutableArray
/* (lldb) po adultTravelerModels
0 elements */
Run Code Online (Sandbox Code Playgroud)

系统版本为iOS 11.0,Xcode 9.0.

我们怎么解决这个问题?

nsmutablearray ios swift

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