相关疑难解决方法(0)

何时使用enumerateObjectsUsingBlock vs.

除了明显的差异:

  • 使用enumerateObjectsUsingBlock时,你既需要索引和对象
  • enumerateObjectsUsingBlock当你需要修改局部变量时不要使用(我错了,见bbum的答案)

enumerateObjectsUsingBlock普遍认为是好还是坏的时候for (id obj in myArray)也将工作?有哪些优点/缺点(例如性能或多或少)?

multithreading objective-c ios4 objective-c-blocks

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

KVC vs快速枚举

以下哪项更快,为什么?

CGFloat sum = 0;
for (UIView *v in self.subviews)
    sum += v.frame.size.height;
Run Code Online (Sandbox Code Playgroud)

要么

CGFloat sum = [[self.subviews valueForKeyPath:@"@sum.frame.size.height"] floatValue];
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ipad ios kvc

13
推荐指数
2
解决办法
711
查看次数

计算包含所有引脚的MKMapRect

我正在尝试放大地图,该地图专注于与地图关联的所有引脚.我已将该信息保存在我的地图属性中.

我从这开始,但它还没有工作:

    double maxLatitude = 0;
    double minLatitude = 0;

    double maxLongitude = 0;
    double minLongitude = 0;

    for (MKAnnotation *address in self.map.locations) {
        // Latitude
        if ([address.latitude doubleValue] > 0) {
            maxLatitude = MAX(maxLatitude, [address.latitude doubleValue]);
        }
        else {
            minLatitude = MAX(abs(minLatitude), abs([address.latitude doubleValue]));
        }

        // Longitude
        if ([address.longitude doubleValue] > 0) {
            maxLongitude = MAX(maxLongitude, [address.longitude doubleValue]);
        }
        else {
            minLongitude = MAX(abs(minLongitude), abs([address.longitude doubleValue]));
        }
    }
    double centerLatitude = (maxLatitude - abs(minLatitude)) / 2;
    centerLatitude *= [self …
Run Code Online (Sandbox Code Playgroud)

iphone

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

使用valueForKeyPath查找NSMutableArray的平均值

目前我正试图找到一种平均矩阵的简洁方法.显而易见的解决方案是对矩阵求和,然后除以元素的数量.但是,我在苹果开发者网站上遇到了一种方法,声称可以使用valueForKeyPath以更简单的方式完成此操作.这与以下内容相关联:

http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/KeyValueCoding/Articles/CollectionOperators.html

以下是我正在努力尝试使其工作的示例:

-(void)arrayAverager
{
   NSMutableArray *myArray = [NSMutableArray arrayWithCapacity:25];
   [myArray addObject:[NSNumber numberWithInteger:myValue]];
   NSNumber *averageValue = [myArray valueForKeyPath:@"@avg.self"];
   NSLog(@"avg  = %@", averageValue);

} 
Run Code Online (Sandbox Code Playgroud)

问题是:代替平均它仅通过1打印出阵列1中的元素阵列.

UPDATE

-(void) pixelAverager

{
    //Put x-coordinate value of all wanted pixels into an array
    NSMutableArray *xCoordinateArray = [NSMutableArray arrayWithCapacity:25];
    [xCoordinateArray addObject:[NSNumber numberWithInteger:xCoordinate]];
    NSLog(@"avg = %@", [xCoordinateArray valueForKeyPath:@"@avg.intValue"]);
 }
Run Code Online (Sandbox Code Playgroud)

average objective-c nsmutablearray ios

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

没有零的NSArray的最小值和最大值

我有一个NSArray,想知道最大和最小整数.

我目前使用:

int max = [[array valueForKeyPath:@"@max.intValue"] intValue];
int min = [[array valueForKeyPath:@"@min.intValue"] intValue];
Run Code Online (Sandbox Code Playgroud)

但现在我想知道没有输入零的最小值和最大值(数组只有正值)

ex:
array=[3, 6 ,7 , 13, 86, 45, 0]
min=3
max=86
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?

objective-c nsarray ios

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

检查数组中的值是否低于特定值

我有一个双精度值的数组,范围从0.0到100.0.如果任何值低于10.0,我想提醒用户.我做了一些搜索,我能找到的最接近的是:

- (BOOL)containsObject:(id)anObject
Run Code Online (Sandbox Code Playgroud)

有什么方法可以使用这种方法来查看值是否低于10?我尝试了以下代码行,但收到​​了两个错误.

if ([myArray containsObject:[NSNumber numberWithDouble:(<10)])
{
    // Do something
}
Run Code Online (Sandbox Code Playgroud)

我很感激你的帮助.这似乎是一项非常基本的任务.

ios

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