小编sol*_*ing的帖子

NSTimer找不到选择器

我想在不从UIViewVontroller继承的类中使用NSTimer.我有2个文件:一个ViewController和一个类似的TimerClass:

视图控制器:

import UIKit

class ViewController: UIViewController {

    var timerClass = TimerClass()

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

    override func viewDidAppear(animated: Bool) {
        timerClass.launchTimer()
    }

}
Run Code Online (Sandbox Code Playgroud)

TimerClass:

import Foundation

class TimerClass {

    var timer = NSTimer()

    init(){}

    func launchTimer(){
        var timer = NSTimer.scheduledTimerWithTimeInterval(2, target: self, selector: "timerEnd", userInfo: nil, repeats: true)
    }

    func timerEnd(){
        println("That worked")
    }
}
Run Code Online (Sandbox Code Playgroud)

当我启动该应用程序时,我遇到了崩溃:

2015-01-12 19:48:24.322 Timer_TEST [5829:185651]***NSForwarding:警告:类'Timer_TEST.TimerClass'的对象0x7fbc3be20710没有实现methodSignatureForSelector: - 提前故障无法识别的选择器 - [Timer_TEST.supportFile timerEnd]

任何的想法?

谢谢

nstimer swift

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

在完成块中调用操作而没有内存泄漏

我正在使用swift创建一个iOS应用程序.

假设我想在主线程的不同线程中对数组进行排序.我可以像这样继承NSOperation:

import UIKit

class Operation: NSOperation {

    var array:[Int]

    init(array:[Int]){
        self.array=array
        println("Operation init")
    }

    deinit{
        println("Operation deinit")
    }

    override func main() {
        for i in 0..<array.count{
            for j in 0..<array.count{
                if array[i]<array[j]{
                    let k = array[i]
                    array[i] = array[j]
                    array[j] = k
                }
            }
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

在我的ViewController中,我可以使用类似的东西:

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let array = [6,5,4,3,2,1]
        let operation = Operation(array: array)
        let operationQueue = NSOperationQueue()
        operationQueue.addOperation(operation)
        operation.completionBlock = {
            println("done")
        }
    } …
Run Code Online (Sandbox Code Playgroud)

nsoperation ios swift

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

使用 Nestjs 在通用服务中动态注入存储库

我正在为我的 Nestjs 应用程序构建授权服务。

对于我的应用程序上的每个受保护资源(MediaGame、 ...),我都有一个*RoleEntity关联的(MediaRoleEntityGameRoleEntity、 ...),它定义用户可以对特定资源执行哪些操作。其中每一项都*RoleEntity实现RoleEntityInterface

export interface RoleEntityInterface<T extends ResourceEntity> {
  resource: T;
  user: UserEntity;
  role: string;
}
Run Code Online (Sandbox Code Playgroud)

每个受保护实体 ( MediaEntity,, GameEntity...) 都会扩展ResourceEntity

现在我想构建一个通用的提供者RoleService,负责数据库交互:

@Injectable()
export class RoleService<T extends ResourceEntity> {
  readonly roleRepository: Repository<RoleEntityInterface<T>>;

  async read(roleDto: Partial<RoleDto<T>>): Promise<RoleEntityInterface<T>> {
    return this.roleRepository.findOne({
      where: { ...roleDto },
    });
  }

  async create(roleDto: RoleDto<T> | RoleDto<T>[]): Promise<void> {
    await this.roleRepository.insert(roleDto);
  }
}
Run Code Online (Sandbox Code Playgroud)

我想将这个服务注入到守卫、拦截器中...... …

authorization dependency-injection nestjs

5
推荐指数
0
解决办法
2565
查看次数

react-native:模式中的选择器未显示

当我的Picker嵌入到Modal中时,它不会出现在屏幕上(仅针对android测试)

  renderModal() {
    return (
      <Modal
        transparent={true}
        visible={this.state.showModal}
        onRequestClose={() => this.setState({ modalIsVisible: false })}
        animationType={'fade'}>
        <View
          style={{ backgroundColor:'rgba(0, 0, 0, 0.7)', flex: 1, justifyContent: 'center', padding: 20, height:100 }}>
        <View style={{ borderRadius:10, alignItems: 'center', backgroundColor: '#fff', padding: 20 }}>
          <Text>
            Choisissez la priorité de cet emplacement
          </Text>
          <Picker
            selectedValue={this.state.storagePriority}
            onValueChange={(priority) => this.setState({storagePriority: priority})}>
            <Picker.Item label="Basse" value="LOW" />
            <Picker.Item label="Normale" value="MEDIAN" />
            <Picker.Item label="Haute" value="HIGH" />
            <Picker.Item label="Réserve" value="STOCK" />
          </Picker>
        </View>
        </View>
      </Modal>
    );
  }
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

picker react-native react-native-android

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