小编Ekr*_*kra的帖子

如何在iphone中解码UTF8字符串

我想解码一个UT8编码的字符串.

输入字符串是" øÃ| -test-2.txt "

解码后应该变成" øæ-test-2.txt "

我发现许多API将NSString或NSData编码为UT8(NSUTF8StringEncoding),但无法找到解码方法.

我到现在为止尝试过的: -

NSString *str = [[NSString alloc] initWithUTF8String:[strToDecode cStringUsingEncoding:NSUTF8StringEncoding]];
Run Code Online (Sandbox Code Playgroud)

[strToDecode stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
Run Code Online (Sandbox Code Playgroud)

[NSString stringWithUTF8String:[strToDecode cStringUsingEncoding:[NSString defaultCStringEncoding]]]
Run Code Online (Sandbox Code Playgroud)

我尝试了相同的输入字符串,并在第三方解码器中获得正确的输出.

但是无法取得成功

任何正确方向的提示都将受到高度赞赏.

iphone encoding objective-c

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

Swift删除Array范围内的对象

我有一个数组作为类中的属性.

Class Custom {
 let objArray: [CustomClass]
}
Run Code Online (Sandbox Code Playgroud)

我想在一个范围内删除objArray中的一些项目.所以我在下面做了

let newVar  = objArray[1...3]
Run Code Online (Sandbox Code Playgroud)

新对象被正确删除但返回值在newVar中,因为数组是值类型,我怎么能使原始反映相同.

当索引递增时,下面的代码会使Index超出范围

for i in 1...3 {

  objArray.remove(at: 1)
}
Run Code Online (Sandbox Code Playgroud)

======

上述问题的最佳方法是什么?

任何正确方向的提示都将受到高度赞赏.

arrays range swift

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

PopoverPresentationController以零结尾

创建了一个SingleViewApplication,我已经放置了一个按钮.

现在点击按钮我需要将tableView显示为popover.TableViewController是在xib中创建的.

问题是tableViewController.popoverPresentationController总是如下所示,参见下面的代码

     let filterVC =  TableViewController(nibName: "TableViewController", bundle: nil)
    var filterDistanceViewController = UINavigationController(rootViewController: filterVC)
    filterDistanceViewController.preferredContentSize = CGSize(width: 300, height: 200)
    let popoverPresentationViewController = filterDistanceViewController.popoverPresentationController
    popoverPresentationViewController?.permittedArrowDirections = .any


    if let pop = filterDistanceViewController.popoverPresentationController {
        pop.delegate = self
    }
Run Code Online (Sandbox Code Playgroud)

在上面的代码filterDistanceViewController.popoverPresentationController总是为零

任何正确方向的提示都将受到高度赞赏.

storyboard uipopovercontroller ios uipopover swift

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

如何从Objective C中的主String获取字符串的一部分

我有mainString,我需要在找到关键字后获取字符串的一部分.

NSString*mainString ="你好,你好GET = dsjghdsghghdsjkghdjkhsg";

现在我需要在关键字"GET ="之后获取字符串.

等待回复.

iphone objective-c

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

如何在我的iPhone应用程序的文档文件夹中创建文件夹结构

我的服务器中有一个文件夹结构,我需要在设备端浏览该文件夹.我收到XML格式的文件夹结构.我的查询是: - 1)我可以在我的iPhone应用程序的文档文件夹中创建相同的文件夹结构.

2)最好的方法是在设备文档文件夹中创建文件夹,还是只读取XML并在解析它时显示文件夹(我的意思是不创建文件夹).

等待你的回复

iphone iphone-sdk-3.0

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

Ipad中的splitViewController不会隐藏在肖像中

我想创建一个具有Tab栏的应用程序.在每个TabBar中,我想使用两个视图,即左侧的表视图和另一侧的详细视图.但是TableView应该保持纵向和横向(就像在iPad中设置应用程序一样).

我已经看到了使用私有API的一些建议,这是一种使用风险.

[splitViewController setHidesMasterViewInPortrait:NO];
Run Code Online (Sandbox Code Playgroud)

以及Matt Legend的https://github.com/mattgemmell/MGSplitViewController等教程, 但我不需要那么多的自定义.

任何正确方向的提示或教程都将受到高度赞赏.

似乎在4.2中打破了以下教程: -

http://blog.blackwhale.at/2010/04/your-first-ipad-split-view-application/

iphone ipad uisplitviewcontroller ios4

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

iOS 通用 swift 关闭

我想快速传递一个通用模型对象。

目前我有一个必须返回 Model 对象的闭包,如下所示

  completionHandler = ([ModelObject]?, Error?) -> Void
Run Code Online (Sandbox Code Playgroud)

方法调用

func method1( onCompletion: @escaping completionHandler) -> Void {

}
Run Code Online (Sandbox Code Playgroud)

我想制作一个通用的完成处理程序,可以传递不同的模型而不是特定的模型。注意:-所有模型对象都符合 Codable 协议,如下所示

struct ModelObject: Codable {
}
Run Code Online (Sandbox Code Playgroud)

//=====编辑======

func method1<M: Codable>( onCompletion: @escaping (M?, Error?) -> Void) -> Void {
            let decoder = JSONDecoder()
            let items = try? decoder.decode(ModelObject.self, from: data)
            onCompletion(items, nil)// error in this line Cannot convert value of type 'ModelObject?' to expected argument type '_?'
}
Run Code Online (Sandbox Code Playgroud)

generics ios swift

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