小编Ash*_*lls的帖子

Swift: '+entityForName: nil 不是一个合法的 NSManagedObjectContext 参数搜索实体名称 'Test''

我将第一次使用 CoreData。
但是,以下代码会导致错误。
我想尝试保存数据,但它是“nilError”。
你能告诉我如何解决吗?

func testCoreData(){
    /// Base
    let appDelegate:AppDelegate = UIApplication.shared.delegate as! AppDelegate
    let context = appDelegate.persistentContainer.viewContext

    /// set

    /// Error Log
    /**
      * Ok!!Save. id=fdsafdsfadf
      * 2018-09-08 **:**:**.*****+0*** **[**:**] 
      * *** Terminating app due to uncaught exception 
      * 'NSInvalidArgumentException', reason: '+entityFo
      * rName: nil is not a legal NSManagedObjectContext 
      * parameter searching for entity name 'Test''
    */

    print("Ok!!Save. id=fdsafdsfadf")
    let entity = NSEntityDescription.entity(forEntityName: "Test", in: context)
    let newData = NSManagedObject(entity: entity!, insertInto: context)
    newData.setValue("fdsafdsfadf", forKey: "id")
    do{ …
Run Code Online (Sandbox Code Playgroud)

core-data swift

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

显示前加载ViewController的WebView

我有一个带有 ViewController 的应用程序,其中包含 WebView。因为 WebView 显示的网站非常大,所以我想在应用程序启动时加载 ViewController,这样一旦用户使用 WebView 打开 ViewController,它就会显示已加载的页面。

我尝试过重写 viewDidLoad()、loadView()、便利的 init() 等,但我放在那里的任何内容似乎都在实际显示 ViewController 之前执行。

 let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
 webViewVC = storyboard.instantiateViewController(withIdentifier: "WebViewController")

 if let c = webViewVC.childViewControllers[0] as? WebViewController {

     c.dDelegate = self

     webViewVC.modalPresentationStyle = .popover
     let popover = webViewVC.popoverPresentationController!
     popover.delegate = self
     popover.permittedArrowDirections = .up
     webViewVC.loadView()
     present(webViewVC, animated: true, completion: nil) //if I don't add this line, the ViewController doesn't seem to get created before showing
 }
Run Code Online (Sandbox Code Playgroud)

那么我之前可以调用什么present()来执行 ViewController 的一些代码呢?我需要加载如下内容: …

uiviewcontroller ios swift wkwebview

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

UI图像大小与实际图像分辨率不同(UIImageWriteToSavedPhotosAlbum)

我从 ARFrame 获取图像并将其转换为 UIImage ( imageToSave)。

var imageToSave = convert(cmage:arFrameImage)
UIImageWriteToSavedPhotosAlbum(imageToSave, nil, nil, nil);
Run Code Online (Sandbox Code Playgroud)

我保存到 iOS 相册中imageTosave。当我打印时,imageToSave.size我得到1080.0, 1920.0。当我检查图片分辨率时(将其导入到我的 Mac 后),它是1080.0, 1920.0

然后我在上面画一些东西imageToSave

let imageSize = imageToSave.size
let scale: CGFloat = 0
UIGraphicsBeginImageContextWithOptions(imageSize, false, scale)
image.draw(at: CGPoint(x: 0, y: 0))
let rectangle = CGRect(x: 10, y: 10, width: 10, height: 10)
UIColor.white.setFill()
UIRectFill(rectangle)

let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
print("========Image size B)=======")
print(newImage!.size)
UIImageWriteToSavedPhotosAlbum(newImage!, nil, nil, nil);
Run Code Online (Sandbox Code Playgroud)

当我打印时,newImage!.size我得到1080.0,1920.0 …

uiimage ios swift

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

在 Tableview 中选择单元格时删除动画

我有一个待办事项列表应用程序,用户可以点击一个单元格来划掉任务。

但是,当点击单元格时,整个单元格会在短时间内变为灰色以表明它已被选中。

有什么方法可以完全删除此动画,以便在点击单元格时,它仍会注册为点击,但没有选择动画。

到目前为止我只有

tableView.deselectRow(at: indexPath, animated: false)
Run Code Online (Sandbox Code Playgroud)

但动画短暂闪烁。

任何帮助,将不胜感激 :)

xcode uitableview swift

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

在 React.js 中映射 JSON const

我的constReact.js 应用程序中有一堆配置,JSON 如下所示:

const original = [
  { 'id': '1', 'desc': 'AAA', 'isOK': true },
  { 'id': '2', 'desc': 'BBB', 'isOK': true },
  { 'id': '3', 'desc': 'CCC', 'isOK': false },
  ...
];
Run Code Online (Sandbox Code Playgroud)

它包含一堆配置,我可能会将它们放在一个单独的文件中,但现在我想测试它并认为 aconst是合适的。

我正在尝试使用ReactiveSearch组件并将其提供给需要转换为MultiDataListdata字段

[
  { label: '1', value: 'AAA' },
  { label: '2', value: 'BBB' },
  { value: '3', value: 'CCC' },
  ...
]
Run Code Online (Sandbox Code Playgroud)

我原以为original.map(e => { 'label': e.id, 'value': e.desc })这可以解决问题,但我在第一个冒号处得到了“意外标记”。IntelliJ 说“表达式语句不是赋值或调用”。

用单个项目映射数组工作得很好,例如 …

javascript jsx reactjs

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

(iphone)如何只更新tableview中的一行

我有一个tableview,我将tableview每隔一秒更新.it接收数据中的数据,当收到数据时,它将替换一行中的旧数据.我喜欢这样:当收到数据时,我打电话

[m_tableView reloadData];
Run Code Online (Sandbox Code Playgroud)

所以,它会打电话

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath  *)indexPath{ }
Run Code Online (Sandbox Code Playgroud)

所以我将更改此方法中的特定行数据,但我该如何设置row index

uitableview ios

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

Swift:使用scheduledTimerWithTimeInterval调用额外参数

我创建了一个简单的WatchApp节拍器.我使用NSTimer和.scheduledTimerWithTimeInterval,我在调用中有一个错误Extra Argument'selector'

谢谢你的回答

func playBeat() {

        if(self.State == true) {
            self.State == false
            [labelPlayPause.setTitle("Pause")]
        } else {
            self.State == true
            [labelPlayPause.setTitle("Play")]
        }

        BPMValue = 10
        var BPMInt:Int = Int(BPMValue)
        let value = "\(BPMInt) BPM"
        labelBPM.setText(value)
        let aSelector: Selector = "playBeat"

        dispatch_async(dispatch_get_main_queue(), {
            NSTimer.scheduledTimerWithTimeInterval(60/self.BPMValue, target:self, selector: aSelector, userInfo:nil, repeats:false)
        })

    }
Run Code Online (Sandbox Code Playgroud)

selector nstimer swift watchkit

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

返回Swift/Xcode 6中设置包开关的值

我很难返回存储的布尔键的值.

我的root.plist看起来像这样:

在此输入图像描述

我在AppDelegate中得到了这个:

    let a = NSUserDefaults.standardUserDefaults().boolForKey("sound")

    if a { // This is where it breaks
        println("sound is on")
    }
Run Code Online (Sandbox Code Playgroud)

我有什么想法我做错了吗?

xcode ios swift

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

启动音频队列失败???

我正在尝试创建一个应用程序,当用户不知道时,它会显示一个会更改每个级别的文本。目标是说出一个显示的句子(是的,它是为孩子们设计的):

\n\n
@IBAction func dontknow(_ sender: Any) {\n    let utterance = AVSpeechUtterance(string: textLabel.text)\n    utterance.voice = AVSpeechSynthesisVoice(language: "fr-FR")\n    utterance.rate = 0.4\n\n    let synthesizer = AVSpeechSynthesizer()\n    synthesizer.speak(utterance)\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

该应用程序的构造如下:\n如果用户不知道 -> 他可以单击按钮说出文本\n如果他是对的 -> 他进入下一个级别。

\n\n

当他第一次输入要说的按钮时,应用程序会说一些话,但是当用户尝试说出文本并且在下一个级别时,他单击要说的按钮,则什么也没有发生。它只是抛出这个错误:Failure starting audio queue \xe2\x89\xa5\xcb\x9a\xcb\x9b\xcb\x87

\n\n

完整代码:

\n\n
import UIKit\nimport AVFoundation\nimport Speech\n\nclass ReadViewController: UIViewController, SFSpeechRecognizerDelegate {\n    var texts = ["Je mange des p\xc3\xa2tes", "Bonjour Jean comment vas-tu", "Qui est-ce", "J\'en ai marre", "Je ne te trouve pas gentil", "Pourquoi tu ne veux pas","Tu es si gentil", "Tu …
Run Code Online (Sandbox Code Playgroud)

speech-recognition avfoundation ios swift sfspeechrecognizer

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

导航控制器为零,当推送视图控制器时

有三个viewControllerMainViewController ViewControllerBViewControllerCMainViewController将在应用程序启动时加载。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // Override point for customization after application launch.

    self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];

    MainViewController * main = [[MainViewController alloc]init];
    UINavigationController * navigationController = [[UINavigationController alloc]initWithRootViewController:main];
    self.window.rootViewController = navigationController;
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    return YES;       
}
Run Code Online (Sandbox Code Playgroud)

并且有一个button关于MainViewController,现在ViewControllerB

UIViewController *rootViewController = [[UIApplication sharedApplication].keyWindow rootViewController];
ViewControllerB * vcb=[[ViewControllerB alloc] init];
[rootViewController presentViewController:vcb animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

在之后 …

xcode navigationcontroller ios

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