我是 Mac OS X 开发的新手。主要是 Java 和 C# 开发人员。我正在阅读这本书并尝试书中的一些示例。
在我的 AppController 类中,我尝试添加IBOutlet如下:
IBOutlet NSTextField *textField;
Run Code Online (Sandbox Code Playgroud)
它给我一个错误,说“未知类型名称'NSTextField'。我已经导入了Foundation/Foundation.h
请帮忙。
无论我返回什么,表视图将只显示.xib文件中手动设置的显示文本(NSTextField的'Title').请帮我弄清楚我做错了什么.谢谢.
我的NSTableView只有1列.
这是代码:
#import "DeviceSettingsController.h"
#import <ImageCaptureCore/ImageCaptureCore.h>
@interface DeviceSettingsController ()
@property (weak) IBOutlet NSTableView *tableViewScanners;
@property (weak) IBOutlet NSMatrix *checkBoxes;
@property NSMutableArray *availableScanners;
@property ICDeviceBrowser *deviceBrowser;
@end
@implementation DeviceSettingsController
- (void)viewDidLoad {
[super viewDidLoad];
_availableScanners = [[NSMutableArray alloc] init];
_deviceBrowser = [[ICDeviceBrowser alloc] init];
_tableViewScanners.delegate = self;
_tableViewScanners.dataSource = self;
_deviceBrowser.browsedDeviceTypeMask = ICDeviceTypeMaskScanner | ICDeviceLocationTypeMaskLocal | ICDeviceLocationTypeMaskShared | ICDeviceLocationTypeMaskBluetooth | ICDeviceLocationTypeMaskBonjour;
_deviceBrowser.delegate = self;
[_deviceBrowser start];
}
- (id)initWithMainView:(NSView *)_theView AndMainController:(NSViewController *)_theViewController AndNibName:(NSString *)nibName AndArgs:(NSArray *)_args {
self = [super …Run Code Online (Sandbox Code Playgroud) 所以我有一个类A。它定义了很多行为(方法),但也留下了很多子类来实现。这个类永远不会有实例。这只是定义所有子类共有的行为。将扩展 A 的子类(A1、A2、A3 等)都将是单例。我不希望这些子类有多个实例。
因此,最明显的方法是创建一个抽象类 A,然后创建扩展 A 的静态类 A1、A2、A3。
但显然,这在 C# 中是不允许的。我认为这是有充分理由的。微软的人可能比我更了解面向对象的软件设计。但我只需要一些帮助来弄清楚为什么这个设计“很差”,以及什么是替代的更好的设计。
我正在使用 WCF 编写 RESTful API。该服务将在一堆数据库表上执行 CRUD 操作。有很多代码对于所有表来说都是通用的,并且很多代码对于每个表来说都是特定的。此外,在任何给定时间只能对表执行一项操作。
所以我想我可以有一个抽象类TableHandler。然后是它的多个扩展,例如等TableAHandler。TableBHandler由于我只想要这些子类的一个实例,所以我想将它们设为静态。
function Job(name, cronString, task) {
"use strict";
this.name = name;
this.cronString = cronString;
this.isReady = false;
this.task = task;
}
Job.prototype.performTask = (db, winston) => {
"use strict";
const Promise = require("bluebird");
let that = this;
return new Promise((resolve, reject) => {
let output = "";
let success = true;
try {
output = that.task();
}
catch(error) {
success = false;
reject(error);
}
if(success) {
resolve(output);
}
});
};
module.exports = Job;
Run Code Online (Sandbox Code Playgroud)
这里的Javascript新手.当我创建一个Job对象并调用该performTask方法时,我得到"that.task不是一个函数".不应该this在方法的最开头performTask …
let nasPath = "";
return getFamInfo(args.familyID)
.then(function (famInfo) {
nasPath = //some code involving famInfo here
return getSFTPConnection(config.nasSettings);
}).then(function (sftp) {
const fastPutProm = Promise.promisify(sftp.fastPut);
return fastPutProm(config.jpgDirectory, nasPath, {});
});
Run Code Online (Sandbox Code Playgroud)
如果我在 之后放置一个断点const fastPutProm = Promise.promisify(sftp.fastPut);,fastPutProm则是一个带有三个参数的函数。但是当我尝试运行此代码时,出现TypeError: Cannot read property 'fastPut' of undefined错误。我在这里做错了什么?
我是一个可可和Objective-c新手.我正在尝试构建一个mac应用程序,当我尝试创建一个继承自NSViewController的新控制器时,它会自动给我一个- (void)viewDidLoad.m文件(但不是.h).问题是编译器总是喊叫"没有可见的@interface for'NSViewContoller'声明了选择器'viewDidLoad'.
这怎么可能?请帮助我了解这里发生了什么以及如何解决它.谢谢.
我正在尝试将JPG文件转换为TIFF使用,
System.Drawing.Image.Save(String,?ImageFormat)
但结果TIFF是文件的4倍JPEG.例如,200KB JPEG导致800KB TIFF.
如何获得TIFF文件或大小与JPEG?相同?
我的正则表达式是@"\d+".但是对于字符串"9r651",它总是返回true.我只是希望它为仅包含数字的字符串(0-9)返回true.我只是想不出来.任何帮助将非常感激.谢谢.
c# ×3
cocoa ×3
macos ×3
objective-c ×3
.net ×2
javascript ×2
node.js ×2
bluebird ×1
iboutlet ×1
inheritance ×1
jpeg ×1
nstableview ×1
nstextfield ×1
oop ×1
promise ×1
prototype ×1
regex ×1
scope ×1
this ×1
tiff ×1