javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

迅速-Unicode换码后大括号中的预期十六进制代码

这在Swift的第一个Beta中起作用。

var degree = "\u00B0" // degree symbol

现在,我收到此错误,并且我不明白在Xcode 6 Beta 5中需要做些什么来纠正它。

Expected hexadecimal code in braces after unicode escape
trans by 2020-08-12T02:16:13Z

ios-如何滚动到UITableView的确切末端?

我有一个UITableView,其中装有动态高度的单元格。 从视图控制器中推送视图控制器时,我希望表格滚动到底部。

我已经尝试使用contentOffsettableView scrollToRowAtIndexPath,但是我仍然无法获得理想的完美解决方案。

谁能帮我解决这个问题?

这是我要滚动的代码:

let indexPath = NSIndexPath(forRow: commentArray.count-1, inSection: 0)
tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: .Bottom, animated: true)
trans by 2020-08-11T20:07:32Z

ios-轻按一下即可打开和关闭UITableViewCell复选标记

我正在做一个tableview

我希望能够点击每个单元格,并在点击时在单元格上显示一个选中标记

现在,我有一些代码可以完成这项工作:

// checkmarks when tapped

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    let section = indexPath.section
    let numberOfRows = tableView.numberOfRowsInSection(section)
    for row in 0..<numberOfRows {
        if let cell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: row, inSection: section)) {
            cell.accessoryType = row == indexPath.row ? .Checkmark : .None
        }
    }
}

但是这段代码只选择一个部分中的1个单元格(我有5个部分)

我需要它来选择任何地方的任何单元格

另外,当我上下拖动屏幕时,我也会打勾

视图控制器

class ViewController: UIViewController, UITableViewDataSource {                        //class and subclass                  |)
//---------------------------------------------------------------------------------------------------------------------------/
    // Variable and constant, also IBAOutlet

    let section1 =
       ["this is used",
        "this is used to test",
        "this is used to test the lenght",
        "this is used to test the lenght of the text",
        "this is used to test the lenght of the text",
        "this is used to test the lenght of the text",
        "this is used to test the lenght of the text",
        "this is used to test the lenght of the text",
        "this is used to test the lenght of the text",]
    let section2 =
       ["this is used to test the lenght of the text"]
    let section3 =
       ["this is",
        "this is ",]


    @IBOutlet weak var scoreshow: UILabel!
    @IBOutlet weak var reset: UIButton!
    @IBOutlet weak var tableView: UITableView!

// --------------------------------------------------------------------------------------

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()
    }
//----------------------------------------------------------------------------------------
    // checkmarks when tapped

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
    {
        if let cell = tableView.cellForRowAtIndexPath(indexPath) {
            if cell.accessoryType == .Checkmark
            {
                cell.accessoryType = .None
            }
            else
            {
                cell.accessoryType = .Checkmark
            }
        }    
    }
//----------------------------------------------------------------------------------------
    //number of sections for the table

    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 5
    }
//----------------------------------------------------------------------------------------
    //Calculate the amount of rows

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
    {
        return self.section1.count;
    }
//----------------------------------------------------------------------------------------
    //Cells text label and config

    func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
    {
        let cell:UITableViewCell = UITableViewCell(style:UITableViewCellStyle.Default, reuseIdentifier:"cell")
        cell.textLabel!.text = section1[indexPath.row]
        cell.textLabel!.numberOfLines = 0

        return cell
    }

//----------------------------------------------------------------------------------------

    @IBAction func resetswitch(sender: UIButton) {




    }
//----------------------------------------------------------------------------------------

}
trans by 2020-08-11T17:11:35Z

ios-警告:尝试在已显示的*上显示*(空)

这是我的第一个iOS应用程序。

所以我有一个ItemDetailViewController.viewDidLoad()UISearchController,在这里我集成了UISearchBarUISearchController以过滤要显示的TableCell

override func viewDidLoad() {
    menuBar.delegate = self
    table.dataSource = self
    table.delegate = self
    let nib = UINib(nibName: "ItemCellTableViewCell", bundle: nil)
    table.registerNib(nib, forCellReuseIdentifier: "Cell")

    let searchButton = UIBarButtonItem(barButtonSystemItem: .Search, target: self, action: "search:")
    menuBar.topItem?.leftBarButtonItem = searchButton
    self.resultSearchController = ({
        let controller = UISearchController(searchResultsController: nil)
        controller.searchResultsUpdater = self
        controller.dimsBackgroundDuringPresentation = false
        return controller
    })()
    self.table.reloadData()
}

我还使用模态搜索,以打开元素的ItemDetailViewController.viewDidLoad(),在其中显示元素的详细信息。

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    self.index = indexPath.row
    self.performSegueWithIdentifier("ItemDetailFromHome", sender: self)
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if (segue.identifier == "ItemDetailFromHome") {
        let settingsVC = segue.destinationViewController as! ItemDetailViewController
        settingsVC.parent = self
        if self.isSearching == true  && self.searchText != nil && self.searchText != ""  {
            settingsVC.item = self.filteredItems[self.index!]
        } else {
            settingsVC.item = self.items[self.index!]
        }

    }
}

直到我尝试显示ItemDetailViewController.viewDidLoad()过滤后的元素(通过UISearchController),效果都很好。

我有以下消息:

Warning: Attempt to present <ItemDetailViewController: *>  on <HomeViewController: *> which is already presenting (null)

每次我都要使用ItemDetailViewController.viewDidLoad()函数,但是之后激活搜索时,我会遇到先前的错误。

任何想法 ? 我尝试使用以下异步调度,但未成功

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    self.index = indexPath.row
    dispatch_async(dispatch_get_main_queue(), { () -> Void in
        self.performSegueWithIdentifier("ItemDetailFromHome", sender: self)
    })
}
trans by 2020-08-11T16:56:54Z

ios-是否应该在UIAlertAction的处理程序中将self捕获为强者?

编写selfself闭包时,对self的引用是否应为强(默认),unownedunowned

已经有与此主题相关的帖子(1、2、3、4),但老实说,我看不出它们在这种情况下如何提供帮助。

让我们关注以下典型代码:

func tappedQuitButton() {
    let alert = UIAlertController(title: "Confirm quit", message: nil, preferredStyle: .ActionSheet)

    let quitAction = UIAlertAction(title: "Quit", style: .Default) { (action) in
        self.dismissViewControllerAnimated(true, completion: nil)
    }
    alert.addAction(quitAction)

    let cancelAction = UIAlertAction(title: "Cancel", style: .Default) { (action) in
        self.dismissViewControllerAnimated(true, completion: nil)
    }
    alert.addAction(cancelAction)

    presentViewController(alert, animated: true, completion: nil)
}

这是self子类内部的函数,因此self是呈现警报的视图控制器。

该文档说:

使用弱引用以避免引用周期,只要该引用在其生命中的某个时刻可能没有“价值”即可。 如果引用将始终具有值,请改用无主引用。

我可能是瞎子,但是我仍然看不到这如何帮助回答我有关self的问题。

在上面的代码中,self是否有可能在其生命中的某个时刻为零? 是。 所以我应该将self标记为self

但话又说回来,我想不出一个可行的情况,当调用闭包时self将为nil。 因此,就闭包而言,self将始终具有值。 所以我应该将self标记为unowned

因此,再次如何在UIAlertAction处理程序中捕获self

trans by 2020-08-11T03:31:02Z

ios-如何将UITextView的边框设置为与UITextField的边框颜色相同

默认情况下,UITextField的边框颜色为浅灰色。我想将我的UITextView设置为与UITextField相同的边框颜色。

我试过了:

myTextView.layer.borderColor = UIColor.lightGrayColor().CGColor
or
myTextView.layer.borderColor = UIColor.lightTextColor().CGColor
or 
myTextView.layer.borderColor = myTextField.layer.borderColor

它们仍然具有不同的颜色。您能告诉我如何查看UITextView边框以匹配UITextField颜色吗?

谢谢。

trans by 2020-08-11T02:18:36Z

如何在NSUserDefaults中存储Swift枚举值

我有一个这样的枚举:

enum Environment {
    case Production
    case Staging
    case Dev
}

我想像这样在NSUserDefaults中保存一个实例:

func saveEnvironment(environment : Environment){
    NSUserDefaults.standardUserDefaults().setObject(environment, forKey: kSavedEnvironmentDefaultsKey)
}

我知道Swift枚举不是NSObject,因此很难保存,但是我不确定将其转换为可存储内容的最佳方法是什么。

trans by 2020-08-11T01:57:09Z

将NSDictionary转换为Swift字典

现在我知道,当swift编译时,它只是生成一个NSDictionary,但是NSDictionary和Swift字典具有不同的语法。 是否有办法(通过循环或其他方式)将NSDictionary转换为<key, value>的相同类型的快速字典?

要么

有没有办法将其转换为Swift字典而不是NSDictionary?

let jsonDict = NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: &error) as NSDictionary
trans by 2020-08-11T00:33:43Z

ios-如何在swi中循环遍历对象数组

我正在尝试访问存储在数组中的对象的url,但是无论使用哪种方法,都遇到错误。

let userPhotos = currentUser?.photos

    for var i = 0; i < userPhotos!.count ; ++i {
        let url = userPhotos[i].url
    }

在这里我得到

找不到成员“ URL”

和foreach:

for photo in userPhotos {

        Utils.getImageAsync(photo.url , completion: { (img: UIImage?) -> () in

        })
    }

我得到:

“ [ModelAttachment]?” 没有名为“ Generator”的成员

我的数组是var photos: Array<ModelAttachment>?,我的ModelAttachment看起来像这样:

class ModelAttachment :Model {
var id: String?
var url: String?
var thumb: String?
}

任何指向我正在做错事情的指针都很好:)

trans by 2020-08-10T18:05:06Z

内存管理-Swift委派-何时在Deleg上使用弱指针

有人可以解释何时以及何时不使用Swift中的委托指针来分配“弱”赋值,为什么?

我的理解是,如果您使用的协议未定义为类,则您既不能也不想将您的委托指针分配给弱。

protocol MyStructProtocol{
    //whatever
}

struct MyStruct {
    var delegate: MyStructProtocol?
}

但是,当您的协议定义为类类型协议时,您是否要将代理设置为弱指针?

protocol MyClassProtocol:Class{
    //whatever
}

class MyClass {
    weak var delegate: MyClassProtocol?
}

我对么? 在Apple的快速指南中,类协议示例未使用弱分配,但是在我的测试中,如果没有弱引用我的委托人,我会看到强参考周期。

trans by 2020-08-10T14:05:49Z

ios-Swi中的NSDate()与NSDate.date()

我跟随Bloc.io Swiftris教程,在其中他们通过以下方式初始化日期:

lastTick = NSDate.date()

导致编译错误:

'date()' is unavailable: use object construction 'NSDate()'

哪个应该等于:

NSDate *lastTick = [NSDate date];

(来自NSDate参考)

自从我看到其他使用NSDate.date的示例以来,Apple是否将Swift界面更改为NSDate?

这仅仅是NSDate还是您不能为任何Objective-C API调用类型方法?

trans by 2020-08-10T09:57:07Z

大中央调度-与s一起使用dispatch_async

在将Objective-C代码移植到Swift时,我遇到了几次这个问题。 说我有以下代码:

dispatch_async(dispatch_get_main_queue()) {
    self.hostViewController?.view.addSubview(self.commandField)
}

这将导致错误,并强调整个dispatch_async调用,并提供:

Could not find member 'addSubview'

我认为这是一个尚未得到正确实现的错误,因为如果将3005004853849629621504调用放在self块之外,则项目可以正常运行。 最初,我认为这可能与在块中捕获self有关。 但是,插入[unowned self] in会导致与[weak self] in相同的错误(在插入适当的!展开操作符之后)。

如何获取需要捕获selfdispatch_async块在Swift中工作?

trans by 2020-08-10T08:59:26Z

ios-应用程序仅在Testflight构建时崩溃

我迅速创建了一个应用程序,并使用iPhone 6,iPhone 6 plus和iPhone 5设备以及Xcode提供的所有模拟器对它进行了广泛的测试。 该应用程序运行良好,在本地上传后不会崩溃。 (iOS 8)

我终于提交了Testflight的构建。 通过Testflight版本下载应用后,该应用始终在同一位置崩溃。

是否存在一个已知问题,即上载的版本与本地创建的版本运行方式不同? 以及如何调试Testflight版本的问题?

trans by 2020-08-10T03:15:03Z

如何从Swi中的数组中删除给定值的元素

我想从包含x,y和z元素的数组中删除值x的所有元素

let arr = ['a', 'b', 'c', 'b']

如何从arr中删除值“ b”的所有元素?

trans by 2020-08-10T01:49:15Z

ios-NSURLSession“ HTTP加载失败kCFStreamErrorDomainSSL,-9813;自签名证书

我正在尝试将我的iOS应用程序连接到当前在网络中的本地主机上运行的HTTPS Rails应用程序。 我可以使用https://myIP:3000/display从浏览器访问网站,也可以在带有curl请求的命令行中访问该网站。 我正在尝试使用以下方式从我的应用程序访问它:

class FirstViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        //let url = NSURL(string: "https://another/Sinatra/website/feed")
        let url = NSURL(string: "https://myIP:3000/display")

        let request = NSURLRequest(URL: url!)
        let task = NSURLSession.sharedSession().dataTaskWithURL(url!)
        task!.resume()
    }

当我尝试访问sinatra网站时,我没有遇到任何麻烦,甚至可以使用正确的命令将JSON打印到控制台。 但是,当我将URL设置到Rails网站时,出现以下错误。

NSURLSession / NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9813)

另外,我可以说我的本地主机Rails应用程序(在另一台计算机上)不是从iOS应用程序ping到的,而是从浏览器和curl命令进行ping的。

任何想法如何解决这一问题?

trans by 2020-08-10T00:00:29Z

ios-如何使用swift使用页面控件创建滚动视图?

我正在尝试创建具有多个视图的页面视图控制器。 我想要一个简单的代码示例,它将使用UIPageViewController。

trans by 2020-08-09T17:36:38Z

sorting-基于布尔值的对象的Swift排序数组

我正在寻找一种基于布尔值对Swift数组进行排序的方法。

我已经使用强制转换为NSArray来工作了:

var boolSort = NSSortDescriptor(key: "selected", ascending: false)
var array = NSArray(array: results)
return array.sortedArrayUsingDescriptors([boolSort]) as! [VDLProfile]

但是我在寻找Swift变体,有什么想法吗?

更新资料感谢Arkku,我设法使用以下代码解决了这个问题:

return results.sorted({ (leftProfile, rightProfile) -> Bool in
    return leftProfile.selected == true && rightProfile.selected != true
})
trans by 2020-08-09T15:51:09Z

ios-如何使用Swift代码创建目录(NSFileManager)

我在转换Objective-C代码为Swift创建目录时遇到了麻烦。

目标C:

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
    NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"/MyFolder"];

    if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
    [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error];
trans by 2020-08-09T14:25:05Z

nsdateformatter-在SWI中以大写字母显示AM / PM

我编写了以下代码以特定格式显示日期时间:

let formatter = NSDateFormatter()
formatter.dateStyle = NSDateFormatterStyle.LongStyle
formatter.timeStyle = .MediumStyle
formatter.dateFormat = "HH:mm a 'on' MMMM dd, yyyy"
let dateString = formatter.stringFromDate(newDate!)
println(dateString)

输出量

12:16 pm on July 17, 2015

我想将“ pm”显示为“ PM”(用大写字母表示),如果电话具有24小时格式,则AM / PM应该不会出现。 请帮我。

trans by 2020-08-09T14:09:00Z

ios-定义UIImage将使用的文件(快速)

因此,我环顾了苹果网站上的开发人员库,找不到任何文档说明如何使用swift语言说明如何使用哪种文件(如png)来表示UIImage。因此,我尝试使用以下代码进行试验:

class ViewController: UIViewController {

@IBOutlet var maintitle: UIImageView

var bigtitle: UIImage!
var smalltitle: UIImage!


override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib. 

    func startAnimating(){
        var animatedtitle: AnyObject[] = [bigtitle, smalltitle]
        var animationDuration: NSTimeInterval = 0.15
        var animationRepeatCount: Int = 0
    }
}

我在那里尝试做的是制作一个永无止境的两幅图像。 我定义了两个UIImage(大标题和小标题),想知道如何定义wat .png用于这些UIImage。 我知道这是一个非常基本且新手的问题,但是可以得到任何帮助。

trans by 2020-08-09T05:16:38Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共55页