小编Eim*_*tas的帖子

信号11,iphone App退出时的分段故障

我有一个iPhone应用程序.它似乎运行良好.当我连接到一个供应的iPhone Xcode和运行应用程序,控制台登录管理器窗口,退出与主屏幕键的应用程序时,总是抱怨分段故障.

有没有其他人看过这个,你是否知道问题可能是什么?我使用一个线程在后台加载网页,但我在退出时停止了线程.

我的应用确实保存了一些持久信息.当我使用构建和分析函数时,我得到了2个潜在的内存泄漏,但在每种情况下我都在分配一个对象并将其保存在一个数组中.

任何想法,还是这是正常的?

iphone exit segmentation-fault

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

C字符串插值

我正在用C构建简单的http状态检查器.我已经完成了网络部分,但是我遇到了字符串操作问题.它是如何工作的:

$ ./client http://domain.com/path.html#anchor
200
Run Code Online (Sandbox Code Playgroud)

该实用程序只是在命令行上输出给定页面的状态.我需要将给定的字符串解析为hostname和request path.我还用这个定义构建了一个"模板"字符串:

#define HTTP_GET_MSG "GET %s HTTP/1.1\nUser-Agent: my-agent-0.01\nHost: %s\n\n"
Run Code Online (Sandbox Code Playgroud)

我想知道如何将解析后的url(主机和路径)插入到定义的字符串中,然后send()才能将其插入套接字?

c string

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

为NSString编写unicode char格式

我有一个unicode char"代码"列表,我想用\u转义序列(例如\ue415)打印,只要我尝试用这样的东西组成它:

// charCode comes as NSString object from PList
NSString *str = [NSString stringWithFormat:@"\u%@", charCode];
Run Code Online (Sandbox Code Playgroud)

编译器警告我不完整的字符代码.任何人都可以帮我完成这项琐碎的任务吗?

objective-c nsstring

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

由CoreFoundation Framework导致的内存泄漏

我正在开发一个主要使用地址簿和数据库的iPhone应用程序.从地址簿中获取大约3000个联系人后,我将字符串标签附加到联系人(每个5个).我在数据库中保存我的标签.

对于负载测试目的,我已向应用程序添加了10,000个标签.但是在我的应用程序的负载测试期间,我观察到一些与应用程序代码无关但代表一组指令集的内存泄漏.此外仪器显示基金会为泄漏负责的库(大量使用NSString,NSDictionary,NSArray属于Foundation框架).我的应用程序在使用10-15分钟后崩溃.崩溃报告提到,应用程序因内存不足而崩溃.

使用CLANG进行内存分析显示零泄漏.我如何解决这些内存泄漏?这些泄漏事故是这次事故背后真正的罪魁祸首吗?还有其他工具可用于检查内存泄漏吗?

iphone xcode iphone-sdk-3.0 ios4

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

iOS-从数据库创建动态用户界面

我有一个要求,我需要通过从数据库中读取值来为iPAD应用程序构建一个View。

加载应用程序时,我将对PHP进行服务器调用,PHP将向我返回JSON。从该结果集中,我希望能够在iPAD上动态构建UI。

有人可以指出正确的方向或给我一些建议吗?

objective-c ipad ios

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

将NSData转回纯文本NSString

我有一个简单的NSString,我将它转换为NSData:

NSData *data = [[NSData dataWithBytes:[[NSString stringWithFormat:@",%@",self.targetId] dataUsingEncoding:NSASCIIStringEncoding] 
                              length:[[NSString stringWithFormat:@",%@",self.targetId] lengthOfBytesUsingEncoding:NSASCIIStringEncoding]] retain];
Run Code Online (Sandbox Code Playgroud)

现在我想从NSData对象中获取纯文本.
如果我这样做:

NSString* dataStr = [NSString stringWithFormat:@"%@",data];
Run Code Online (Sandbox Code Playgroud)

- 我只得到一个十六进制表达式(即<9c3f473e 02000000 0b0000>)而不是我想要的普通字符串!

我也尝试过使用initWithData -

    NSString* dataStr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
Run Code Online (Sandbox Code Playgroud)

但无论我给出哪种编码,它总是表现得很狡猾.

你能帮忙吗?:)

iphone nsstring nsdata

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

iPhone:CoreData,按2列排序

我有一个列很少的表......我想对它进行排序,这就是我这样做的方式:

NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"column1" 
                                                     ascending:NO];
Run Code Online (Sandbox Code Playgroud)

但是如果column1值到处都是0,我想用另一列对它进行排序...... @"column2".那么init我的sortDescriptor如何用2个键?谢谢

iphone core-data

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

NSPredicate - 核心数据 - 相互比较两个属性

我有我认为在谷歌宇宙中很容易做/找到的事情,但我完全感到困惑。我有一个对象,在核心数据中设置了两个日期属性。我想获取两个日期不相同的对象列表。我如何使用核心数据来做到这一点?

[NSPredicate predicateWithFormat:@"dateModified != dateCreated"];
Run Code Online (Sandbox Code Playgroud)

不起作用。

xcode core-data nspredicate ios

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

"SetupPay"文本显示为IN_APP_PAYMENT_BUTTON_SETUPPay

我在我的项目中有本地化,当我添加它显示的苹果支付按钮IN_APP_PAYMENT_BUTTON_SETUP而不是"安装Pay".

当添加到不同的示例项目时,奇怪的相同代码显示正确的Apple付费按钮.

if ([PKPaymentAuthorizationViewController canMakePayments]) {



        if ([PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkVisa, PKPaymentNetworkMasterCard, PKPaymentNetworkAmex]]) {

            //Standard code
        }
        else{

            UIButton *btnApplePay = [PKPaymentButton buttonWithType:PKPaymentButtonTypeSetUp style:PKPaymentButtonStyleWhiteOutline];
            [btnApplePay setFrame:CGRectMake(10, 10, 294, 50)];
            [self.view addSubview:btnApplePay];


        }
    }
Run Code Online (Sandbox Code Playgroud)

此外,如果PKPaymentButton的宽度小于128像素,则PKPaymentButton显示"支付"文本.

objective-c applepay ios10

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

Swift 4 Decodable - 将JSON对象解码为`Data`

我有以下数据结构:

{
    "type": "foo"
    "data": { /* foo object */ }
}
Run Code Online (Sandbox Code Playgroud)

这是我的解码它的类:

final public class UntypedObject: Decodable {

    public var data: Data

    enum UntypedObjectKeys: CodingKey {
        case data
    }

    required public init(from decoder: Decoder) throws {
        let values = try decoder.container(keyedBy: UntypedObjectKeys.self)

        self.data = try values.decode(Data.self, forKey: .data)
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在获取这样的对象数组,这就是我解码它的方式:

let decoder = JSONDecoder()
let objectList = try decoder.decode([UntypedObject].self, from: data)
Run Code Online (Sandbox Code Playgroud)

但是我在控制台中收到此错误:

typeMismatch(Swift.Array,Swift.DecodingError.Context(codingPath:[Foundation.(_ JSONKey in _12768CA107A31EF2DCE034FD75B541C9)(stringValue:"Index 0",intValue:Optional(0)),Playground_Sources.UntypedObject.UntypedObjectKeys.data],debugDescription:"期望解码数组但是找到了一个字典.",underlyingError:nil))

所以问题是可以将正确的JSON对象解码为Data类型属性,如果是这样的话 - 我该如何实现呢?

swift4 decodable

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