小编Sam*_*her的帖子

当用户退出应用程序ios时调用viewWillDisappear

我有一个应用程序viewWillDisappear在我的一个类中的方法中存储值.例如,我在viewWillAppear方法中存储数据和时间,并且在方法中再次存储,viewWillDisappear因此我能够比较时间差并将其记录下来.

但是,如果用户按下设备上的主页按钮,viewWillDisappear则不运行代码.我试图在AppDelegates中调用这个特殊的方法applicationDidEnterBackground,但这会存储错误的信息,因为该viewWillDisappear方法实际上并未运行.我也尝试将它们存储在中NSUserDefaults,但是,由于viewWillDisappear方法没有运行,因此存储了错误的值.

有没有办法viewWillDisappear在用户按下主页按钮后立即为该视图运行该方法?

ios

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

如何在Meteor中执行服务器端文件处理操作?

我在服务器上使用GridFS存储Word(.docx)文件.我希望能够使用docx-builder NPM包将文档合并到一个Word文件中.

这是我上传文件的方式:

Meteor.methods({
    uploadFiles: function (files) {
      check(files, [Object]);

      if (files.length < 1)
        throw new Meteor.Error("invalid-files", "No files were uploaded");

      var documentPaths = [];

      _.each(files, function (file) {
        ActivityFiles.insert(file, function (error, fileObj) {
          if (error) {
            console.log("Could not upload file");
          } else {
            documentPaths.push("/cfs/files/activities/" + fileObj._id);
          }
        });
      });

      return documentPaths;
    }
})
Run Code Online (Sandbox Code Playgroud)

我怎样才能在服务器端执行此操作?我只能做这个服务器端因为我正在使用的fs包需要无法在客户端执行的包.

这就是我目前正在努力解决这个问题的方法.从客户端,我正在调用以下方法(声明为a Meteor.method):

print: function(programId) {
  // Get the program by ID.
  var program = Programs.findOne(programId);
  // Create a new …
Run Code Online (Sandbox Code Playgroud)

node.js gridfs meteor server

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

如何根据UIAlertController中的UITextField禁用UIAlertAction?

我正在使用a UIAlertController向用户显示一个对话框,输入一个5位数的CRN.我希望Add按钮被禁用,直到有5个且只有5个数字UITextField.

这是UI的样子:

在此输入图像描述

这是以下属性设置UIAlertController:

var alertController: UIAlertController!

var addAlertAction: UIAlertAction! {
    return UIAlertAction(title: "Add", style: .default)
}
Run Code Online (Sandbox Code Playgroud)

以下是我在viewDidLoad方法中初始化它们的方法:

self.alertController = UIAlertController(title: "Add Class", message: "Input CRN", preferredStyle: .alert)
self.alertController.addAction(addAlertAction)
self.alertController.addAction(UIAlertAction(title: "Cancel", style: .destructive))
self.alertController.addTextField { (textField) in
    textField.delegate = self
    textField.keyboardType = .numberPad
}
Run Code Online (Sandbox Code Playgroud)

以下是我尝试使用以下UITextFieldDelegate方法禁用/启用按钮的方法:

func textFieldDidEndEditing(_ textField: UITextField) {
    if ((textField.text?.characters.count)! == 5) {
        self.alertController.actions[0].isEnabled = true
    } else {
        self.alertController.actions[0].isEnabled = false
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,该按钮始终处于禁用(或启用)状态.它永远不会启用.出了什么问题?

uitextfield ios uialertcontroller swift3 ios10

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

从 JavaScript 生成 TypeScript 定义时如何生成枚举成员的文档?

按照从 .js 文件创建 .d.ts 文件中的官方说明,我尝试生成 JSDoc 的定义@enum

/**
 * The direction enum.
 * 
 * @enum {number}
 */
const Direction = {
  /**
   * Up direction.
   * 
   * @type {number}
   * @constant
   */
  Up: 1,
  /**
   * Down direction.
   * 
   * @type {number}
   * @constant
   */
  Down: 2,
  /**
   * Left direction.
   * 
   * @type {number}
   * @constant
   */
  Left: 3,
  /**
   * Right direction.
   * 
   * @type {number}
   * @constant
   */
  Right: 4,
};
export default Direction; …
Run Code Online (Sandbox Code Playgroud)

javascript jsdoc typescript

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

如何完全重置 Xcode 项目的 CoreData?

我的 macOS 应用程序现在一团糟。我对我的 Core Data 模型进行了一些重大更改,现在,仅启动应用程序就会导致应用程序和 Xcode 崩溃。该应用程序的崩溃日志揭示了以下崩溃原因:

Fatal error: Unresolved error Error Domain=NSCocoaErrorDomain Code=134140 "Persistent store migration failed, missing mapping model."
Run Code Online (Sandbox Code Playgroud)

我不想创建映射模型。我不关心旧的 CoreData 模型。我希望所有这些数据都消失。我尝试了以下几件事:

  1. 删除派生数据。
  2. 删除~/Library/Application Support/APP_NAME/文件夹。
  3. 使用NSBatchDeleteRequest删除所有的实体。

我想重新开始(不创建一个全新的项目)。我需要做什么才能使用新的 Core Data 数据集重新开始?

macos xcode cocoa core-data swift

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

iOS应用中的"预期标识符"错误

我制作了一个非常基本的iOS应用程序,它在viewDidLoad上的标签中显示时间.我在这行代码上遇到了一个Expected Identifier错误:

NSString *myTime = [myDateFormatter stringFromDate:[*myDate]];
Run Code Online (Sandbox Code Playgroud)

这是ViewController.m文件:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize timeLabel;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSDateFormatter *myDateFormatter = [[NSDateFormatter alloc] init];
    [myDateFormatter setDateFormat:@"HH:mm a"];
    NSDate *myDate = [[NSDate alloc] init];
    NSString *myTime = [myDateFormatter stringFromDate:myDate];
    [timeLabel setText : myTime];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end
Run Code Online (Sandbox Code Playgroud)

做了一些补充.编译的代码,但现在我得到一个线程1:SIGABRT错误.应用程序未在模拟器上加载,并且出现错误.这是在main()中给出错误的代码行:

return UIApplicationMain(argc, …
Run Code Online (Sandbox Code Playgroud)

objective-c ios

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

在Swift中使用嵌套的初始化器是不好的做法?

假设我有一个struct像这样的Swift 设置:

struct User {
    // Properties
    var name: String?
    var username: String!
    var email: String?
}
Run Code Online (Sandbox Code Playgroud)

现在,我看待它的方式,有两种设计初始化程序的方法.

这是第一个:

init(username: String) {
    self.username = username
}

init(username: String, name: String) {
    self.username = username
    self.name = name
}

init(username: String, name: String, email: String) {
    self.username = username
    self.name = name
    self.email = email
}
Run Code Online (Sandbox Code Playgroud)

这是第二个:

init(username: String) {
    self.username = username
}

init(username: String, name: String) {
    self.init(username: username)
    self.name = name
}

init(username: String, name: String, …
Run Code Online (Sandbox Code Playgroud)

initialization properties ios swift swift3

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

没有管理员访问权限使用Xcode?

我有一台2008年晚些时候的MacBook,我有一个标准帐户.我想使用Xcode,但点击Run之后会询问我无法访问的管理员密码.那么有什么方法我仍然可以使用Xcode?这适用于终端应用程序以及iOS项目.它要求运行调试器工具.

macos xcode

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

UITableView - >编辑模式

我有一个IBActionUIButton,使编辑模式.我想点击相同UIButton并取消编辑模式.如果我使用一个if-else声明,我应该检查什么:if(editeModeEnabled)//turn it off, else turn it on...所以我可以使用相同UIButton的开启和关闭.

非常感谢.

iphone ios ios5

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