小编Cal*_*ter的帖子

可扩展部分UITableView IndexPath SWIFT

我对编码很新,我只知道Swift.我找到了几个教程来在表格中生成下拉部分.基本上它将代表一个电视节目,标题将是季节和每个季节的剧集下拉列表.

我设法通过https://github.com/fawazbabu/Accordion_Menu完美地满足我的需求

这一切看起来都不错,但是我需要能够从下拉项中进行选择.我添加didSelectRowAtIndexPath了一个简单的行打印开头.当我选择行,节或单元格时,会返回随机索引路径,可以再次按下同一行并返回不同的值.我认为这只是我在问题中添加的内容.所以我添加didSelectRowAtIndexPath了原始代码.这有同样的问题.

我假设这是因为UIGestureRecogniser正在使用a 和didSelectRowAtIndexPath.但我不确定替代方案是什么.

有人能告诉我哪里出错了吗?

import UIKit
import Foundation


class test: UIViewController, UITableViewDelegate, UITableViewDataSource {


    @IBOutlet var tableView: UITableView!
    var sectionTitleArray : NSMutableArray = NSMutableArray()
    var sectionContentDict : NSMutableDictionary = NSMutableDictionary()
    var arrayForBool : NSMutableArray = NSMutableArray()


    override func awakeFromNib() {
        super.awakeFromNib()

        tableView.delegate = self
        tableView.dataSource = self

        arrayForBool = ["0","0"]
        sectionTitleArray = ["Pool A","Pool B"]
        var tmp1 : NSArray = ["New Zealand","Australia","Bangladesh","Sri Lanka"]
        var string1 = sectionTitleArray .objectAtIndex(0) as? String …
Run Code Online (Sandbox Code Playgroud)

expandable uitableview didselectrowatindexpath swift

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

下面的代码真的可以在C/C++中释放内存吗?

这是代码:

int main()
{   
   char str[] = {'a','b','c',' ','d','e',' ',' ','f',' ',' ',' ','g','h','i',' ',' ',' ',' ','j','k'};
   cout << "Len = " << strlen(str) << endl;

   char* cstr = new char[strlen(str)];
   strcpy(cstr, str); 

   cstr[5] = '\0';

   cout << "Len= " << strlen(cstr) << endl;

   return 0;
}

//---------------
Result console:
Len = 21                                                                                                                                                                        
Len= 5
Run Code Online (Sandbox Code Playgroud)

正如你所看到的那样,Len的cstr发生了变化.这意味着cstr的剩余内存区域是免费的.这样对吗?

c c++

4
推荐指数
3
解决办法
273
查看次数

Swift:switch case从字典键中复用值

我想为多个值做一个切换案例,其中这些值来自字典的键.

myDict = ["dog": "waf", "cat": "meaow", "cow":"meuh"]
let animal = "cat"

switch animal {

case myDict.keys :
   print(myDict[animal])

case "lion" :
   print("too dangerous !")
}

default :
   print("unknown animal")
}
Run Code Online (Sandbox Code Playgroud)

如何获取myDict键并将其转换为元组(或其他))?我试过Array(myDict.keys)但它失败了:

Expression pattern of type 'Array<String>' cannot match values of type
'String'
Run Code Online (Sandbox Code Playgroud)

dictionary swift

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

使 TabView 背景透明

SwiftUI 中的视图默认具有透明背景。这通常意味着它们具有白色背景,因为这是应用程序的默认背景颜色。但是,这也意味着您可以使用 aZStack来更改整个应用程序的背景颜色,并且该颜色将显示在所有视图中,除非您明确设置自己的背景颜色:

struct Main: View {
    var body: some View {
        ZStack {
            Color.orange.edgesIgnoringSafeArea(.all)

            // Sub-view inlined
            VStack {
                Text("Hello World")
                Button("Press Me", action: { print("Pressed") })
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我遇到的问题是,这对于以下情况来说并非如此TabView:

struct Main: View {
    var body: some View {
        ZStack {
            Color.orange.edgesIgnoringSafeArea(.all)

            // Sub-view inlined
            TabView {
                VStack {
                    Text("Hello World")
                    Button("Press Me", action: { print("Pressed") })
                }.tabItem {
                    Text("First Page")
                }
            }
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

块TabView背景颜色:

在此输入图像描述

我可以更改子视图的背景颜色,但如果我将其设置为透明,则背景再次变为白色,而不是显示ZStack. 我还尝试了各种其他方法来使 …

opacity tabview swift swiftui

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

工人线程iOS

我想在iPhone上创建一个后台线程,每10毫秒执行一些代码.但在我再次迷失在并发编程指南和苹果的线程编程指南之前,我想问一下这里是否有人可以帮助我.我想做的事:

  • 创建后台工作线程
  • 每10毫秒触发一次方法的执行.(可能在该线程中使用NSTimer?)
  • 尽可能减少主应用程序线程的负载

在我的理解中NSThread,在子类中继承和编写我自己的main方法应该可以解决问题.这样我不会使用NSTimer更新间隔,但类似于:

[NSThread sleepForTimeInterval: 0.01];
Run Code Online (Sandbox Code Playgroud)

主线程和工作线程之间的排队机制也没有任何意义,因为工作线程应该反复执行相同的操作 - 直到停止.

问题是:如何配置线程使用计时器?我看不出我怎么能附加一个NSTimer工作线程Run Loop?

iphone multithreading objective-c ios

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

致命错误:在展开Optional值时意外发现nil,获取json错误swift

在此输入图像描述

得到json错误

fatal error: unexpectedly found nil while unwrapping an Optional value当我尝试返回时,我收到错误json:

func getJson (str:NSString) -> AnyObject{

    var proxiesURL = NSURL(string:str)
    var proxiesDataJson = NSData.dataWithContentsOfURL(proxiesURL, options: NSDataReadingOptions.DataReadingUncached, error: nil)
    var json: AnyObject!

    if (proxiesDataJson != nil ){
        json = NSJSONSerialization.JSONObjectWithData(proxiesDataJson, options: NSJSONReadingOptions.AllowFragments, error: nil) as AnyObject
    }
    return json
}
Run Code Online (Sandbox Code Playgroud)

macos cocoa json objective-c swift

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

是否可以创建一个struct实例数组?

我试图创建一个这样的结构实例数组:

let installers: [AnyObject] = [Homebrew(), Ls()]
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

value of type 'Homebrew' does not conform to expected element type 'AnyObject'
Run Code Online (Sandbox Code Playgroud)

当我给数组没有类型时,我得到一个模糊的类型错误,它需要更多的上下文.

是否有可能完成我想要做的事情?

我用Google搜索,但我找不到任何东西.

arrays struct swift swift2

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

检查名称的NSMutableArray是否具有多个字符的前缀

我正在尝试将联系人姓名拆分为单独的,NSMutableArrays并希望在这些数组中包含带重音的字母.

if([[contact.givenName lowercaseString] hasPrefix:@"a"]){
        [selectedArray addObject:contact];
        NSLog(@"%@",contact.givenName);
    }
Run Code Online (Sandbox Code Playgroud)

以上内容适用于字母"a",但我希望包含以下内容:

@"a",@"á",@"â",@"ã",@"ä"
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?谢谢

objective-c ios

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

Xcode 8不会为init方法自动完成

我无法使用Swift 3获取Xcode 8来自动完成常见的初始化方法,并且想知道我是否可以采取任何措施来解决这种情况.

具体来说,采取以下措施:

let jsonString = String(data: jsonData, encoding: .utf8)
Run Code Online (Sandbox Code Playgroud)

初始化方法String(data:, encoding:)不会填充.

演示视频

xcode swift3 xcode8

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

Vapor 中的多个数据库

对于我的 Vapor 项目,我想主要使用单个 Postgres 数据库。但是,对于某些长时间运行的请求,我想使用同一数据库的单独只读克隆。

这方面的文档非常稀疏。如何在现有默认数据库旁边添加另一个数据库连接?

static func configureDatabase(_ app: Application) throws {
    try app.databases.use(.postgres(url: "postgresql://user@localhost:5432/user"), as: .psql)
}
Run Code Online (Sandbox Code Playgroud)

运行查询时,如何告诉 Fluent 在第二个数据库上运行这些查询?

postgresql fluent vapor

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