如果我理解正确,在Objective-C中,属性会自动与getter和setter合成,实例变量声明为属性名称,并带有下划线prepended(_ivar
).
所以,这段代码:
#import <Foundation/Foundation.h>
#import "hello.h"
int main(int argc, char *argv[])
{
@autoreleasepool {
Hello *hello = [[Hello alloc] init];
NSLog(@"%@", hello.myString);
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
#import <Foundation/Foundation.h>
@interface Hello : NSObject
@property (copy, nonatomic) NSString *myString;
@end
Run Code Online (Sandbox Code Playgroud)
#import "hello.h"
@implementation Hello
-(Hello *)init
{
if (self = [super init]) {
_myString = @"Hello";
}
return self;
}
-(NSString *)myString
{
return [NSString stringWithFormat:@"%@ %@", _myString, @"World"];
}
@end
Run Code Online (Sandbox Code Playgroud)
可以像这样编译和运行:
bash-3.2$ clang -framework Foundation main.m …
Run Code Online (Sandbox Code Playgroud) 我遇到了一个新的问题,我似乎无法找到解决方法......这是我的RestKit代码,遵循Twitter核心数据示例:
//
// RESTKIT
//
// restkit object manager
NSString *baseURL = @"http://test1.website.com";
RKObjectManager *objectManager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:baseURL]];
// enable activity indicator
[AFNetworkActivityIndicatorManager sharedManager].enabled = YES;
// managed object model
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"AppName" withExtension:@"momd"];
NSManagedObjectModel *managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
// NSLog(@"managed object model: %@", managedObjectModel);
// managed object store
RKManagedObjectStore *managedObjectStore = [[RKManagedObjectStore alloc] initWithManagedObjectModel:managedObjectModel];
objectManager.managedObjectStore = managedObjectStore;
// NSLog(@"managed object store: %@", managedObjectStore);
// persistent store
NSError *error;
NSString *storePath = [RKApplicationDataDirectory() stringByAppendingPathComponent:@"AppName.sqlite"];
NSPersistentStore …
Run Code Online (Sandbox Code Playgroud) 我有一个shell脚本作为服务启用,以启动多个shell脚本,例如
service started script -> script1, script2 ,script3
Run Code Online (Sandbox Code Playgroud)
script1应该在tmux窗口中打开一个程序,如果我通过手动启动脚本,它确实可以正常工作./script1.sh
,但是当通过服务启动脚本启动时,它没有上述错误:
open terminal failed: not a terminal
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
是否可以使用python dict更新MongoEngine文档?
例如:
class Pets(EmbeddedDocument):
name = StringField()
class Person(Document):
name = StringField()
address = StringField()
pets = ListField(EmbeddedDocumentField(Pets))
p = Person()
p.update_with_dict({
"name": "Hank",
"address": "Far away",
"pets": [
{
"name": "Scooter"
}
]
})
Run Code Online (Sandbox Code Playgroud) 据我所知,如果你在git中添加一个子模块,那么它指向该子模块中的某个提交.
是否有任何方法可以查看子模块指向哪个提交而不检查它?
我有内存问题,因为看起来Django在使用时将对象加载到内存中delete()
.有没有办法阻止Django这样做?
来自Django文档:
Django需要将对象提取到内存中以发送信号和处理级联.但是,如果没有级联和没有信号,那么Django可能会采用快速路径并删除对象而不会进入内存.对于大型删除,这可能会导致内存使用量大幅减少.执行查询的数量也可以减少.
https://docs.djangoproject.com/en/1.8/ref/models/querysets/#delete
我不使用信号.我在我试图删除的模型上有外键,但我不明白为什么Django需要将对象加载到内存中.它看起来确实如此,因为我的内存随着查询的运行而上升.
我有一个包含2个ManyToMany
字段的Django模型.我想在每次保存时处理模型中的数据.
将post_save
它保存在之前发送信号ManyToMany
的关系,所以我不能使用的.然后你有m2m_changed
信号,但由于我有2个ManyToMany
字段,我不能确定ManyToMany
我应该把信号放在哪个字段上.
ManyToMany
在保存所有字段后是否有触发的信号?
dataController
在BWMasterViewController
具有强引用的另一个对象(in )上的属性上设置的数组的键变为null
.我不明白为什么.
标题:
#import <UIKit/UIKit.h>
@class BWBirdSightingDataController;
@interface BWMasterViewController : UITableViewController
@end
Run Code Online (Sandbox Code Playgroud)
执行:
#import "BWMasterViewController.h"
#import "BWBirdSightingDataController.h"
#import "Bird.h"
#import "BWWebviewController.h"
@interface BWMasterViewController()
@property (strong, nonatomic) BWBirdSightingDataController *dataController;
@property (copy, nonatomic) NSString *test;
@end
@implementation BWMasterViewController
- (void)awakeFromNib
{
[super awakeFromNib];
NSLog(@"awake from nib");
self.dataController = [[BWBirdSightingDataController alloc] init];
self.test = @"Test var";
NSLog(@"test: %@", self.test);
Bird *bird = [self.dataController objectInListAtIndex:0];
NSLog(@"bird object: %@", bird);
NSLog(@"bird name: %@", bird.name)
}
- (void)viewDidLoad
{
[super …
Run Code Online (Sandbox Code Playgroud) 我开始使用Backbone.js,所以我必须说我对这些概念还不是很熟悉.
我有预定义的HTML,我想使用Backbone来管理它.这很重要,我希望保持这样.
说这是我的HTML(的一部分):
<div class="pig" data-id="1">
<h1>Harry</h1>
<input type="text" value="Harry">
</div>
<div class="pig" data-id="2">
<h1>Jill</h1>
<input type="text" value="Jill">
</div>
<div class="pig" data-id="3">
<h1>Bob</h1>
<input type="text" value="Bob">
</div>
Run Code Online (Sandbox Code Playgroud)
现在的想法是,当你更改输入时,这应该更新我的Backbone模型并渲染视图,从而导致h1
使用新名称进行更新.我不确定如何设置我的模型和视图.
我有我的模型和我的观点的结构,但我不知道我应该如何使用它们.
目前我有这样的事情:
var PigModel = Backbone.Model.extend()
var pigs = new PigModel()
pigs.reset([
{"id": "1", "name": "Harry"},
{"id": "2", "name": "Jill"},
{"id": "3", "name": "Bob"}
])
var PigView = Backbone.View.extend({
el: '.pig',
events: {
'change input': function() {
// update appropriate Model ?
this.render()
}
},
render: function() {
var new_name …
Run Code Online (Sandbox Code Playgroud) 假设我有一个像这样的LESS CSS目录结构:
less/
core/
_main.less
header.less
body.less
footer.less
contact/
_main.less
form.less
details.less
Run Code Online (Sandbox Code Playgroud)
我想编写一个Gulp任务,它将_main.less
在less/
dir的每个子目录中查找文件,将其传递给gulp-less并将输出写入css/
dir,如下所示:
css/
core.css
contact.css
Run Code Online (Sandbox Code Playgroud)
因为_main.less
包含其目录中的其他文件,只_main.less
需要解析文件,但我希望输出文件具有其所在目录的名称.
到目前为止我有这个:
gulp.src('less/*/*/_main.less')
.pipe(less())
.pipe(gulp.dest('css'));
Run Code Online (Sandbox Code Playgroud)
但是这将创建一个这样的目录结构:
css/
core/
_main.css
contact/
_main.css
Run Code Online (Sandbox Code Playgroud)
但这不是我想要的.我正在考虑使用正则表达式匹配目录名称,将其返回到matches
var中,并相应地重命名该文件.像这样的东西:
gulp.src(/less\/[^\/]+\/([^\/]+)\/_main.less/)
.pipe(less())
.pipe(rename(function(context) {
context.src.matches[1] + '.css'
}))
.pipe(gulp.dest('css'));
Run Code Online (Sandbox Code Playgroud)
这段代码只是一个例子.我无法弄清楚如何做这样的事情,或者甚至可能.
这可能吗?如果是这样,怎么样?
objective-c ×3
django ×2
python ×2
backbone.js ×1
cocoa ×1
cocoa-touch ×1
core-data ×1
git ×1
git-commit ×1
gulp ×1
gulp-rename ×1
html ×1
ios ×1
javascript ×1
mongodb ×1
mongoengine ×1
restkit ×1
restkit-0.20 ×1
shell ×1
signals ×1
sql ×1
synthesize ×1
systemd ×1
tmux ×1