标签: nsmutablearray

如何在字典内的数组中更改字典内的值?

我有一个带有几个数组的plist字典,每个数组都有不同数量的项目.这些项目也是字典.所以基本上它看起来像这样:

  • 根词典
    • 名字数组
    • 放置数组
      • 项目0字典
      • 第1项词典
        • placeName字符串:"House"
        • description string:"我的房子"
        • 身高:10
      • 第2项词典
      • ...
    • 颜色数组
    • ...

我想找到更改其中一个数组(placeName,description,height)中的值的最佳方法.

plist是资源的一部分,所以我这样称它:

[[NSMutableDictionary alloc] initFromName:@"mydefaults.plist"];
Run Code Online (Sandbox Code Playgroud)

我已经看到了setValue:forKey方法,但看起来我正陷入混乱.如果它只是一个值,我认为我不应该设置整个完整的数组.

那么,哪种方式最好?

iphone nsmutablearray nsmutabledictionary

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

从NSArray中删除对象

如何从反转中删除对象NSArray.

目前我有一个NSMutableArray,然后我反过来

NSArray* reversedCalEvents = [[calEvents reverseObjectEnumerator] allObjects];
Run Code Online (Sandbox Code Playgroud)

现在我需要从项目中删除reversedCalEvents或calEvents自动刷新数组根据条件显示的表.即

if(someInt == someOtherInt){
    remove object at index 0
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我无法让它发挥作用.

objective-c uitableview nsmutablearray nsarray ios

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

我可以使用选择器(就地)通过其子串对NSStrings的NSMutable数组进行排序吗?

我有一个NSMutableArray组成的NSStrings.当我需要对它进行排序时,我使用的[array sortUsingSelector:@selector(caseInsensitiveCompare:)]是完美的.

但有时我需要通过NSStrings 的子串对数组进行排序.在这种情况下,子串被定义为NSString跟随某个标记的一部分.事实上,标记可以在每个字符串中以不同方式定位.

显然,我可以NSString分成两个对象并对它们进行排序,但这需要进行重大更改.

有没有办法使用类似于我上面描述的选择器进行排序?

我想如果没有,那么我可以通过创建一个数组的排序副本(而不是使用选择器来完成它),然后释放原始数据.

xcode objective-c nsstring nsmutablearray

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

如何将CFArrayRef创建为NSMutableArray

这是我创建CFArrayRef的代码.我想知道如何使它成为NSMutableArray.我需要它用于我的TableViewController.或者是否有另一种方法在TableViewController中使用CFArrayRef?

ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef arrayOfAllPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
Run Code Online (Sandbox Code Playgroud)

xcode objective-c nsmutablearray

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

将元素添加到NSArray

我知道我们可以只使用a NSMutableArray作为对象,但如果这不是一个选项,我们需要添加新的元素NSArray.我们该怎么做呢?

我的直接答案是创建一个NSMutableArray原始的NSArray,添加新的元素,然后再NSMutableArray回到原始NSArray.

我在接受采访时被问到这个问题,我很好奇一个正确的解决方案是什么,除了一开始就使用a NSMutableArray.

objective-c nsmutablearray ios

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

NSMutableArray remove Object正在克隆Array中的另一个对象

删除NSMutableArray中的对象后,我有一个奇怪的错误.

删除对象之前

如果我删除一个对象

[Array removeObjectAtIndex:2];
Run Code Online (Sandbox Code Playgroud)

数组改为:

在此输入图像描述

为什么现在有2个ContactViewControllers?

xcode cocoa-touch nsmutablearray ios

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

未选择的UITableView行列表

我有以下代码.

NSMutableArray *aList = [[NSMutableArray alloc] init];
for (NSIndexPath *indexPath in tableview1.indexPathsForSelectedRows) {
    NSString *r = [NSString stringWithFormat:@"%i",indexPath.row];
    [aList addObject:r];
}
Run Code Online (Sandbox Code Playgroud)

所以我得到的是一个选择的UITableView行列表.有没有得到一个简单的方法列表所行不选择?

谢谢您的帮助.

objective-c uitableview nsmutablearray ios ios6

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

尝试将NSData写入Keychain时出错

我试图写一些从这样的NSMutableArray生成的数据

// set up keychain so I can write to it… or read if needed (specially for testing)
    KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"KeychainTest" accessGroup:nil];
    [keychain setObject:(__bridge id)(kSecAttrAccessibleWhenUnlocked) forKey:(__bridge id)(kSecAttrAccessible)];

    //write to keychain
    NSData *parsedRemoteSitesData = [NSKeyedArchiver archivedDataWithRootObject:parsedRemoteSitesMutableArray]; // converts MutableArray to NSData
    [keychain setObject:parsedRemoteSitesData forKey:(__bridge id)(kSecValueData)]; pass data to keychain
Run Code Online (Sandbox Code Playgroud)

我的应用程序崩溃在那里我试图将NSData传递给钥匙串的最后一行,这是它给出的错误.

** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteMutableData dataUsingEncoding:]: unrecognized selector sent to instance
Run Code Online (Sandbox Code Playgroud)

我认为这意味着我没有编码我的NSData,同时将数组传递给它,但我不确定..我希望有人可以告诉我或提供一些示例代码来解决这个问题.

任何帮助将不胜感激.

keychain nsmutablearray nsdata ios

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

将NSMutableArray写入文件并加载回来

我正在做一些关于写入和加载文件的练习.

我创建了一个NSString,然后将其写入文件,然后NSString再次加载.简单.

我怎样才能做到这一点用NSMutableArray的NSStrings,或者更好的NSMutableArray是我自己的类?

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {

        // insert code here...

        //write a NSString to a file
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"file.txt"];

        NSString *str = @"hello world";
        NSArray *myarray = [[NSArray alloc]initWithObjects:@"ola",@"alo",@"hello",@"hola", nil];

        [str writeToFile:filePath atomically:TRUE encoding:NSUTF8StringEncoding error:NULL];

        //load NSString from a file
        NSArray *paths2 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory2 …
Run Code Online (Sandbox Code Playgroud)

file-io cocoa cocoa-touch objective-c nsmutablearray

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

在Swift中过滤字典数组

我有一个带字典的数组示例:

(
        {
        Email = "kate-bell@mac.com";
        Name = "Kate Bell";
        Number = "(555) 564-8583";
    },
        {
        Email = "d-higgins@mac.com";
        Name = "Daniel Higgins";
        Number = "555-478-7672";
    }
)
Run Code Online (Sandbox Code Playgroud)

我想根据密钥"名称"过滤这个字典

 func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
    let predicate = NSPredicate(format:"Name == %@", searchText)
    let filteredArray = (arrContact as NSMutableArray).filteredArrayUsingPredicate(predicate)
    print(filteredArray)
    if(filteredArray.count == 0){
                searchActive = false;
            } else {
                searchActive = true;
            }
            tblData.reloadData()
 }
Run Code Online (Sandbox Code Playgroud)

我总是从上面的swift代码得到空数组.请帮我解决这个问题.谢谢

nsmutablearray uisearchbar nsmutabledictionary nspredicate swift2

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