标签: nsarray

如果NSDictionary适用于配对值,那么对于三重值有什么好处?

NSDictionary适用于键值对,当您有三个值时,哪种数据结构最适合?最好为这3个值创建一个类,然后让数组中的每个对象包含该类的实例?

具体来说:数据结构,我们称之为Person,我设想有三个值:(NSString)name,(int)age,(BOOL)isAlive

这些将保存在数组(?)中.能够同时使用名称作为键,并且从零开始引用带有数字的整个块是很重要的.

iphone objective-c nsdictionary nsarray

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

如何让sortedArrayUsingSelector使用整数来排序而不是String?

我有一些这样的数据:

1,111,2,333,45,67,322,4445

NSArray *array = [[myData allKeys]sortedArrayUsingSelector: @selector(compare:)];
Run Code Online (Sandbox Code Playgroud)

如果我运行此代码,它的排序如下:

1,111,2,322,333,4445,45,67,

但我其实想要这个:

1,2,45,67,111,322,333,4445

我该如何实现它?你.

sorting iphone nsarray

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

如何在NSArray中找到某种对象?

我的第一直觉是

FooType *myFoo = nil;
for (id obj in myArray) {
    if ( [obj isKindOfClass:[FooType class]] ) myFoo = obj;
}
Run Code Online (Sandbox Code Playgroud)

有了Objective-C和NSArray的所有好东西,就必须有更好的方法,对吧?

objective-c nsarray

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

在MonoMac中使用数组的正确方法

我刚刚开始在MonoMac上开展一个项目,到目前为止这个项目非常酷.但是还有一些我不确定的事情.例如:你如何使用数组?这是我发现的:当我NSArray从一个我正在调用的方法返回时,我尝试获取该数组中的一个自定义对象,我不断得到类似" cannot convert type System.IntPtr to MyType"的东西.

NSArray groupArray = (NSArray)groupDictionary.ObjectForKey(key);
MyType myObject = (MyType)groupArray.ValueAt(0);
Run Code Online (Sandbox Code Playgroud)

这是我回来的数组.但是,如果我想自己创建一个数组怎么办?NSArray的实现不允许我实例化它.所以如果我把MonoMac网站弄好了,我应该使用像这样的普通数组

int[] intArray = int[10];
Run Code Online (Sandbox Code Playgroud)

分别是一个强类型数组,我不知道如何在C#中使用它.

那么去这里的方式是什么?

谢谢
-f

c# arrays objective-c nsarray monomac

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

arrayWithContentsOfFile无法读取plist文件

我有一个包含2个字符串的数组的plist看到图像:

http://imageshack.us/photo/my-images/263/myplist.png/

在我的viewDidLoadi中添加:

NSString *file = [[NSBundle  mainBundle] pathForResource:@"Data"    ofType:@"plist"];

NSArray *array = [NSArray    arrayWithContentsOfFile:file];

NSLog(@"array = %@", array);
Run Code Online (Sandbox Code Playgroud)

但我总是null为什么?感谢帮助.

更新:解决方案是你需要手动编辑plist文件(Xcode4默认使用Dictionnary)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <array>
        <string>HO</string>
        <string>HI</string>
    </array>
</array>
</plist>
Run Code Online (Sandbox Code Playgroud)

iphone plist nsarray nsbundle

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

从NSArray中的NSNumber获取Integer值

我有一个NSArray与NSNumber对象具有int值:

arrayOfValues = [[[NSArray alloc] initWithObjects: [NSNumber numberWithInt:1], [NSNumber numberWithInt:3], [NSNumber numberWithInt:5], [NSNumber numberWithInt:6], [NSNumber numberWithInt:7], nil] autorelease];
[arrayOfValues retain];
Run Code Online (Sandbox Code Playgroud)

我试图像这样迭代数组:

int currentValue;
for (int i = 0; i < [arrayOfValues count]; i++)
{
    currentValue = [(NSNumber *)[arrayOfValues objectAtIndex:i] intValue];
    NSLog(@"currentValue: %@", currentValue); // EXE_BAD_ACCESS
}
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

iterator objective-c nsnumber nsarray ios

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

根据他们的frame.origin.y对UIView的NSMutableArray进行排序

我想根据他们的frame.origin.y对UIViews的NSMutableArray进行排序,我希望y的最低视图是第一个等等.可能是2个UIViews具有相同的起源.这有一个现有的方法吗?

sorting objective-c uiview nsarray ios

6
推荐指数
2
解决办法
1334
查看次数

UIBezierPath多行颜色

我试图用不同的颜色绘制UIBezierPath线是我的失败.所有行都更改为当前选定的颜色.我的所有路径和信息都存储在名为pathInfo的NSMutableArray中.在路径信息中,我放入包含路径,颜色,宽度和行类型的数组.除了所有线条都变成用户选择的任何颜色之外,这种方法都很好.我非常感谢任何帮助!

- (void)drawRect:(CGRect)rect {
    UIBezierPath *drawPath = [UIBezierPath bezierPath];
    drawPath.lineCapStyle = kCGLineCapRound;
    drawPath.miterLimit = 0;

    for (int i = 0; i < [pathInfo count]; i++){
        NSArray *row = [[NSArray alloc] initWithArray:[pathInfo objectAtIndex:i]];
        NSLog(@"Path: %@",[row objectAtIndex:0]);
        NSLog(@"Color: %@",[row objectAtIndex:1]);
        NSLog(@"Width: %@",[row objectAtIndex:2]);
        NSLog(@"Type: %@",[row objectAtIndex:3]);

        //width
        drawPath.lineWidth = [[row objectAtIndex:2] floatValue];

        //color
        [[row objectAtIndex:1] setStroke];

        //path
        [drawPath appendPath:[row objectAtIndex:0]];

    }

   UIBezierPath *path = [self pathForCurrentLine];
    if (path)
     [drawPath appendPath:path];

   [drawPath stroke];
}

- (UIBezierPath*)pathForCurrentLine {
    if (CGPointEqualToPoint(startPoint, CGPointZero) && CGPointEqualToPoint(endPoint, CGPointZero)){ …
Run Code Online (Sandbox Code Playgroud)

objective-c nsmutablearray nsarray uibezierpath

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

谓词来过滤SWIFT中的字符串数组会引发错误,说NSCFString不是键值编码

以下是我的代码段

//Search Bar Delegate
func searchBar(searchBar: UISearchBar, textDidChange searchText: String)
{
    println(searchText)
    var predicate:NSPredicate=NSPredicate(format: "SELF CONTAINS[c] \(searchText)")!
    self.listItemToBeDisplayed=listItem.filteredArrayUsingPredicate(predicate)
    (self.view.viewWithTag(1) as UITableView).reloadData()

}
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

***由于未捕获的异常'NSUnknownKeyException'终止应用程序,原因:'[<__ NSCFString 0x17405ef90> valueForUndefinedKey:]:此类不是密钥V的密钥值编码兼容的.

我想过滤数组中的字符串以通过我的搜索字符串进行过滤.如果我的搜索字符串包含在数组中的任何字符串中,则应该列出它.

arrays nsarray nspredicate swift

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

SWIFT 3谓词NSArray无法正常使用数字

我正在学习使用谓词进行过滤.我找到了一个教程,但是在Swift 3中有一个方面对我不起作用.这是一些特定的代码:

let ageIs33Predicate01 = NSPredicate(format: "age = 33") //THIS WORKS
let ageIs33Predicate02 = NSPredicate(format: "%K = 33", "age") //THIS WORKS
let ageIs33Predicate03 = NSPredicate(format: "%K = %@", "age","33") //THIS DOESN'T WORK
let ageIs33Predicate04 = NSPredicate(format: "age = %@","33") //THIS DOESN'T WORK
Run Code Online (Sandbox Code Playgroud)

所有4编译,但最后2编译没有结果,即使我有一个年龄= 33的情况.这是教程中的测试完整测试代码:

import Foundation

class Person: NSObject {
    let firstName: String
    let lastName: String
    let age: Int

    init(firstName: String, lastName: String, age: Int) {
        self.firstName = firstName
        self.lastName = lastName
        self.age = age
    }

    override var description: String …
Run Code Online (Sandbox Code Playgroud)

nsarray nspredicate swift3

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