我将第一次使用 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) 我有一个带有 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 的一些代码呢?我需要加载如下内容: …
我从 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 …
我有一个待办事项列表应用程序,用户可以点击一个单元格来划掉任务。
但是,当点击单元格时,整个单元格会在短时间内变为灰色以表明它已被选中。
有什么方法可以完全删除此动画,以便在点击单元格时,它仍会注册为点击,但没有选择动画。
到目前为止我只有
tableView.deselectRow(at: indexPath, animated: false)
Run Code Online (Sandbox Code Playgroud)
但动画短暂闪烁。
任何帮助,将不胜感激 :)
我的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组件并将其提供给需要转换为MultiDataList的data字段:
[
{ 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 说“表达式语句不是赋值或调用”。
用单个项目映射数组工作得很好,例如 …
我有一个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?
我创建了一个简单的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) 我很难返回存储的布尔键的值.
我的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)
我有什么想法我做错了吗?
我正在尝试创建一个应用程序,当用户不知道时,它会显示一个会更改每个级别的文本。目标是说出一个显示的句子(是的,它是为孩子们设计的):
\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}\nRun 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\nimport 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
有三个viewController,MainViewController ViewControllerB和ViewControllerC。
MainViewController将在应用程序启动时加载。
- (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)
在之后 …
swift ×7
ios ×6
xcode ×3
uitableview ×2
avfoundation ×1
core-data ×1
javascript ×1
jsx ×1
nstimer ×1
reactjs ×1
selector ×1
uiimage ×1
watchkit ×1
wkwebview ×1