我有一个类(from NSObject)包含:
NSString name
int position
float speed
Run Code Online (Sandbox Code Playgroud)
然后我NSMutableArray从这个类创建一个对象的数组().我想通过'speed'值对数组进行排序,这是一个float.
我最初的float值是as NSNumber和intas NSInteger,并且我成功排序:
[myMutableArray sortUsingFunction:compareSelector context:@selector(position)];
Run Code Online (Sandbox Code Playgroud)
myMutableArray我的对象数组在哪里.
这是功能:
static int compareSelector(id p1, id p2, void *context) {
SEL methodSelector = (SEL)context;
id value1 = [p1 performSelector:methodSelector];
id value2 = [p2 performSelector:methodSelector];
return [value1 compare:value2];
}
Run Code Online (Sandbox Code Playgroud)
现在我正在使用int而不是NSInteger,上面的代码不起作用.是否有一个更低级的命令,我应该用它来执行排序?谢谢!
我绑定NStableView与NSMutableArray contiaining文件名和其他文件的详细信息.使用compare进行简单的biniding和排序:没有像finder那样正确地对文件名进行排序.如果我需要定义用于排序文件名的自定义选择器以及如何定义,请告诉我?
我有以下代码
NSMutableArray *plistArray = [[NSMutableArray alloc] initWithContentsOfFile:filepath];
[plistArray insertObject:title atIndex:2];
Run Code Online (Sandbox Code Playgroud)
但是我想将对象添加到数组的末尾.
如何才能做到这一点,做我需要设置的最后一个值为零,在我不的那一刻,它工作正常.
问候
我担心的是我正确添加对象并释放它们.
如何正确保留和释放?
NSMutableArray *listData = [[NSMutableArray alloc] init];
int i = 0;
for (i = 0; i < 3; i++)
{
MyData *obj = [[MyData alloc] init];
NSString *name = nil;
switch (i)
{
case 0:
name = @"Semen";
break;
case 1:
name = @"Ivan";
break;
case 2:
name = @"Stepan";
break;
default:
break;
}
obj.name = name;
[listData addObject: obj];
[obj release];
}
[listData release] //in dealloc method
Run Code Online (Sandbox Code Playgroud)或者我需要首先释放所有包含的对象,而不是在NSMutableArray对象上释放?
谢谢!
如果我想从我的手中弹出最后一项,NSMutableArray那么这是最合适的方式吗?
id theObject = [myMutableArray objectAtIndex:myMutableArray.count-1];
[myMutableArray removeLastObject];
Run Code Online (Sandbox Code Playgroud)
我相信来自SOF的人有更好的方法.
我有3 NSMutableArrays:a,b,c.
a= [b copy];
a= [c copy];
Run Code Online (Sandbox Code Playgroud)
首次复制的元素(来自b)会发生什么?
在我的use -case中,a是我用作tableview的DataSource的数组,而b,c是在需要时取代数据源的数组.谢谢
具体例子.最后我开始使用setArray.
-(IBAction)selectTab:(id)sender {
if ([(UIButton*)sender tag] == 1000) {
if (![self.butonLocuri isSelected]) {
[tableDataSourceArray setArray:locuriArray];
[self addPins:self.tableDataSourceArray];
[self.myTableView reloadData];
}
}
if ([(UIButton*)sender tag] == 2000) {
if(![self.butonEvenimente isSelected]){
[tableDataSourceArray setArray:evenimenteArray];
[self addPins:self.tableDataSourceArray];
[self.myTableView reloadData];
}
}
}
Run Code Online (Sandbox Code Playgroud) 显然mutableCopy通过引用复制,而不是值.即如果我这样做:
NSMutableArray arrayA = [arrayB mutableCopy];
Run Code Online (Sandbox Code Playgroud)
然后更改arrayB的值,然后也会更改arrayA的值.
我认为Java有一个clone()方法来按值复制..在目标c中是否存在等价物?
我有一个NSMutableArray,我需要机会它的值,但我有这个错误:
[__ NSArrayI replaceObjectAtIndex:withObject:]:无法识别的选择器发送到实例0x5291db0
这是我的NSMutableArray的声明:
NSMutableArray *selectedOptions = [NSArray arrayWithObjects:[NSNumber numberWithInteger:0], nil];
Run Code Online (Sandbox Code Playgroud)
然后,我正在使用replaceObjectAtIndex方法,这样:
[self.selectedOptions replaceObjectAtIndex:0 withObject:[NSNumber numberWithInteger:1]];
Run Code Online (Sandbox Code Playgroud)
但我知道,那个错误,我正在使用NSMutableArray.
谢谢
我有1个mutablearray,我想删除对象的所有索引,但在第一个索引处保持对象.示例:输入:数组(a,b,c,d,e)输出:数组(a)
你能帮助我吗.提前致谢
我环顾了其他类似的问题,但没有真正有效.
我设法在我的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) nsmutablearray ×10
objective-c ×7
ios ×3
cocoa ×2
iphone ×2
sorting ×2
binding ×1
foundation ×1
ios4 ×1
nsdictionary ×1
nstableview ×1
plist ×1
uitableview ×1