小编gon*_*nso的帖子

如何找到malloc"双重免费"错误的原因?

我在Objective-C中编写应用程序,我收到此错误:

MyApp(2121,0xb0185000)malloc:***对象0x1068310的错误:double free
***在malloc_error_break中设置断点以进行调试

当我发布一个NSAutoreleasePool并且我无法弄清楚我要发布两次的对象时,就会发生这种情况.

我该如何设置他的断点?

有没有办法知道这个"对象0x1068310"是什么?

iphone malloc memory-management objective-c autorelease

80
推荐指数
5
解决办法
7万
查看次数

Objective-C:如何声明子类可见的静态成员?

我正在声明一系列处理通信协议的静态类.我想声明一个处理常见消息的父类,如ACK,内联错误......

我需要一个静态var来保存当前正在处理的元素,我想在父类中声明它.

我是这样做的:

parent.m

@implementation ServerParser

static NSString * currentElement;
Run Code Online (Sandbox Code Playgroud)

但是子类没有查看currentElement.

inheritance static objective-c

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

Java,BigDecimal.分裂的问题

我正在尝试计算百分比"因子".也就是说,给定20%,将其转换为0.2(我的意图是稍后将值乘以该值并获得20%的值).

无论如何,这个问题与这段代码有关:

public static void main(String[] args) {
    int roundingMode = BigDecimal.ROUND_FLOOR;
    BigDecimal hundred = new BigDecimal("100");
    BigDecimal percentageFactor = null;
    BigDecimal percentage = new BigDecimal("20");
    BigDecimal value = new BigDecimal("500");
    percentageFactor = percentage.divide(hundred, roundingMode);
    float f = percentage.floatValue() / hundred.floatValue();
    f = value.floatValue() * f;
    BigDecimal aux = value.multiply(percentageFactor);
    System.out.println("factor:"+percentageFactor.toString());
    System.out.println("final falue:"+aux.toString());
    System.out.println("Float Value:"+f);       
}
Run Code Online (Sandbox Code Playgroud)

我希望这个结果是这样的:

factor: 0.2
final value: 100
float value: 100
Run Code Online (Sandbox Code Playgroud)

但是percentage.divide(hundred, roundingMode);返回零,因此我得到:

factor:0
final falue:0
Float Value:100.0
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?如何正确划分两位大小数?

顺便说一下,我正在使用,BigDecimal因为我将计算货币百分比,所以我想要控制四舍五入.

java division bigdecimal

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

iPhone Modal View屏幕较小

我正在尝试做一些不应该那么复杂的事情,但我无法弄明白.我有一个显示UITableView的UIViewController.我想在用户按行时显示上下文菜单.我希望这是一个带有标签和按钮的半透明视图.我可以使用AlertView,但我希望完全控制标签和按钮的格式,并希望使用Interface Builder.

所以我创建了我的小视图250x290,将alpha设置为.75并创建一个带有出口的视图控制器来处理不同的用户事件.

现在我想呈现它.如果我使用presentModalViewController两个(不希望的)事情发生1)视图覆盖所有屏幕(但状态栏).2)它是半透明的,但我看到它"背后"它不是父视图而是应用程序根视图.

我已经尝试将其添加为子视图,但没有任何反应,所以我没有做正确的事情:

RestaurantContextVC* modalViewController = [[[RestaurantContextVC alloc] initWithNibName:@"RestaurantContextView" bundle:nil] autorelease];
[self.view addSubview:modalViewController.view];
Run Code Online (Sandbox Code Playgroud)

有可能做我想要的吗?提前致谢.

Gonso

iphone modal-dialog modalviewcontroller

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

Three20 Photo Scroller另类?

我想在我的iPhone应用程序中添加一个视图,用户可以通过一系列Web加载的图像滚动(分页).

我一直在阅读很多线程,其中大多数最终建议使用Three20 lib.我试过这个并且看起来很复杂并且体积很大(1.2Mb添加到我的应用程序中).另外我只需要TTPhotoViewContoller类,但我必须与整个Three20软件包集成.

在iPhone上有一个较轻的解决方案或组件来做图像滚动吗?

提前致谢.

Gonso

iphone slideshow three20

9
推荐指数
2
解决办法
4040
查看次数

核心数据与众多关系.他们懒惰负载?

我有核心数据(适用于iPhone)的典型模型,包括部门和员工(部门 - >>员工).

我不想在每次加载时加载一个部门的所有员工,所以我认为我将Employee创建为一个获取的财产.我以为我可以像这样定义一些Predicate:

employee.deparmentId = department.departmentId
Run Code Online (Sandbox Code Playgroud)

但我不能(使用Xcode图形编辑器).

现在,阅读一些帖子,我倾向于为部门与员工(及其反向)定义一个关系,并使用它.

我的问题是:懒人加载多对多关系?或者,每次创建(检索)部门列表时,它是否会在"数据库"中加载我的所有员工?

在此先感谢Gonso

iphone lazy-loading core-data

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

Objective-C释放单身人士

对于Objective-c编程和发布对象我是一个新手,这是我最头疼的问题.我总是怀疑需要释放什么,而我的时代我最终会发布错误的变量并导致BAD EXEC崩溃.我已经阅读了关于内存管理的苹果指南,但我总是从他们的例子到我的代码.

其中一种情况是我的单身人士(我是一个大单身人士).

我有一个定义如下:

static Configuration* _instance;

+(Configuration*)getInstance{
    if (_instance == NULL){
        _instance = [Configuration alloc];
        [_instance initConfig];
    }
    return _instance;
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中我使用它像这样:

//Store configuration       
Configuration* conf = [Configuration getInstance];  
conf.userName = self.userName.text;
conf.cellPhone = self.phoneNumber.text;
Run Code Online (Sandbox Code Playgroud)

我需要释放"conf"变量吗?

我什么时候应该发布_instance?

由于我在iPhone上运行此代码,我不发布的变量会发生什么?它们会影响iPhone的性能吗?

singleton release objective-c

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

iPhone更新应用程序版本(在设置中)

可能重复:
如何在应用程序的设置包中显示应用程序版本修订版?

我有一个iPhone应用程序,将当前版本显示为设置常量(就像Skype一样).

当我发布应用程序的第一个版本时,我使用此代码来设置应用程序设置:

- (void)registerDefaultsFromSettingsBundle {
    NSString *settingsBundle = [[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"bundle"];
    if(!settingsBundle) {
        NSLog(@"Could not find Settings.bundle");
        return;
    }

    NSDictionary *settings = [NSDictionary dictionaryWithContentsOfFile:[settingsBundle stringByAppendingPathComponent:@"Root.plist"]];
    NSArray *preferences = [settings objectForKey:@"PreferenceSpecifiers"];

    NSMutableDictionary *defaultsToRegister = [[NSMutableDictionary alloc] initWithCapacity:[preferences count]];
    for(NSDictionary *prefSpecification in preferences) {
        NSString *key = [prefSpecification objectForKey:@"Key"];
        if(key) {
            [defaultsToRegister setObject:[prefSpecification objectForKey:@"DefaultValue"] forKey:key];

        }
    }

    [[NSUserDefaults standardUserDefaults] registerDefaults:defaultsToRegister];
    [defaultsToRegister release];
}
Run Code Online (Sandbox Code Playgroud)

这工作得很好,花花公子.

我现在面临的问题是,如果更新应用程序,则不会重写这些默认值(设置),因此不会更新应用程序版本.

如何强制每次安装时都设置特定的设置?

谢谢Gonso

iphone settings

5
推荐指数
2
解决办法
5643
查看次数

MKMapView:如何根据准确度设置区域范围?

我在iPhone上实现了地图应用程序.我希望地图放大用户的当前位置.我想根据准确性(模拟地图应用程序的工作方式)进行缩放.

我实现这个方法:

    - (void)locationManager:(CLLocationManager *)manager 
didUpdateToLocation:(CLLocation *)newLocation 
fromLocation:(CLLocation *)oldLocation {
Run Code Online (Sandbox Code Playgroud)

我面临的问题是CLLocation为我提供了属性horizo​​ntalAccuracy和verticalAccuracy的准确性,它最终意味着米.但是,为了使地图居中,我使用这个:

MKCoordinateRegion region;
MKCoordinateSpan span;
region.center = newLocation.coordinate; 
span.latitudeDelta=.005;  //THIS IS HARDCODED
span.longitudeDelta=.005; //THIS IS HARDCODED   
region.span = span;

[mapView setRegion:region animated:YES];
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种基于horizo​​ntalAccuracy(以米为单位)计算latitudeDelta(以度为单位)的方法.

它不需要是精确的转换(我不期待转换公式,这将需要相当多的计算,包括当前位置),只是一些aprox值.

有任何想法吗?

谢谢.Gonso

iphone mkmapview

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

SQL Server距离搜索

我有一个带有Locations表的Microsoft SQL Server数据库.每个位置都有其地址和纬度和经度坐标.

在我的应用程序中,用户可以输入一个邮政编码,我们会返回一个靠近位置的列表.这是我的方法.a)使用zipcode DB我在lat,lon搜索邮政编码(这是中心点).b)我运行这样的搜索

SELECT Position_ID, distance(pos_lon,pos_lat,zip_lon,zip_lat) dist 
FROM Positions
ORDER BY dist
Run Code Online (Sandbox Code Playgroud)

"距离"是计算两点之间距离的函数.

问题是,随着我的位置数据库增加,运行这些搜索的时间开始增长.

有更好的方法吗?

sql-server zipcode distance

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

我可以使用XSLT解析HTML吗?

我必须解析一个大的HTML文件,我只对一小部分(一个表)感兴趣.所以我考虑使用XSLT来简化/转换HTML,使其更容易处理.

我遇到的问题是找不到我的桌子.所以我不知道它是否可以使用XSL样式表解析HTML.

顺便说一句,HTML文件具有这种外观(原理图,缺少标签):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html id="ctl00_htmlDocumento" xmlns="http://www.w3.org/1999/xhtml" lang="es-ES" xml:lang="es-ES">
<div> some content </div>
<div class="NON_IMPORTANT"></div>
<div class="IMPORTANT_FATHER>
    <div class="IMPORTANT">
        <table>
            HERE IS THE DATA IM LOOKING FOR
        </table>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

根据要求,这是我的xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="tbody">
        tbody found, lets process it
    <xsl:for-each select="tr">
        new tf found, lets process it
    </xsl:for-each>
    </xsl:template>

</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

完整的HTML非常大,所以我不知道如何在这里展示它...我已经在Oxygen上测试了有效的文档,它说它有效.

提前致谢.Gonso

html xslt parsing

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