我正在寻找一种更好的方法来区分程序中不同类型的字符串 - 例如,绝对路径和相对路径.我希望能够让函数接受或返回某种类型的编译器错误,如果我搞砸了.
例如,
function makeAbsolute(path: RelativePath): AbsolutePath {
}
Run Code Online (Sandbox Code Playgroud)
其中AbsolutePath和RelativePath实际上只是字符串.我尝试了类型别名,但实际上并没有创建新类型.接口 -
interface AbsolutePath extends String { }
interface RelativePath extends String { }
Run Code Online (Sandbox Code Playgroud)
但由于这些接口是兼容的,编译器不会阻止我将它们混合起来.如果没有向接口添加属性以使它们不兼容(并且实际上将该属性添加到字符串或者围绕它转换)或使用包装类,我不知道如何做到这一点.还有其他想法吗?
如何测试an的最后一个字符NSString是空格还是换行符.
我能做到[[NSCharacter whitespaceAndNewlineCharacterSet] characterIsMember:lastChar].但是,我如何获得最后一个角色NSString?
或者,我应该使用- [NSString rangeOfCharacterFromSet:options:]反向搜索?
Django的测试客户端允许您执行POST请求并将请求数据指定为dict.
但是,如果我想发送模仿<select multiple>或<input type="checkbox">字段的数据,我需要为数据中的单个密钥发送多个值dict.
我该怎么做呢?
如何调用函数并仅传递它所期望的参数.例如,我说我有以下功能:
func1 = lambda a: True
func2 = lambda a, b: True
func3 = lambda c: True
Run Code Online (Sandbox Code Playgroud)
我想要一些能够成功调用这些函数的Python代码,而不需要TypeError通过传递意外的参数来引发这些函数.即
kwargs = dict(a=1, b=2, c=3)
for func in (func1, func2, func3):
func(**kwargs) # some magic here
Run Code Online (Sandbox Code Playgroud)
在**kwargs定义它们时,我对添加函数不感兴趣.
我想使用容器视图来包含相机预览.我希望相机在中间居中并保持适当的宽高比.(它的粉红色使它的框架显而易见)

我试图让相机预览显示的尺寸小于容器的第一步.
我有一个用于Camera Controller视图的UIView子类,并且有以下代码:
- (CGSize)intrinsicContentSize
{
return CGSizeMake(320, 240);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这并不值得尊敬:

从阅读文档,intrinsicContentSize看起来就像我想要的.最终我也想使用自动布局,但我试图一次解决一件事.
我该如何工作?
如何将"2010-04-30T00:45:48.711127"解析为NSDate?(并保持所有精度)
我想使用Compass简化在我的Django应用程序中编写CSS的任务.但我不知道如何配置它.
我看到django-compressor支持SASS,但是为了使用Compass,我需要将_*.scss文件转储到我的工作区(Django 1.4),因为这是django-compressor运行scss命令时的工作目录.
Eric Meyer的方法听起来很合理(在开发期间编译.scss文件.css并提交到SCM)但是我不能明白如何.scss在Django工作区中使用SASS/Compass工具在多个应用程序(可重用和不可重用)中进行编译.
我为每个应用程序存储静态样式表文件<app>/static/<app>/css/.
我遇到的问题是这样的:
@import 不适用于各种应用_*.scss文件放在工作区中是不可接受的compass watch在工作区中运行失败:
无需编译.如果您正在尝试启动一个新项目,那么您已经离开了目录参数.
使用@include background(...)失败:
语法错误:未定义的操作:" - compass-list-size(compact(#cccccc,false,false,false,false,false,false,false,false,false))gt 1"
如何在我的网页加载时这样做,光标会自动转到给定的文本字段?(例如,在Google上加载页面时,闪烁的光标已经在搜索框中)
以下代码适合我:
# -*- coding: utf-8 -*-
N = int(raw_input("N="))
l=[]
i = 0
while i<N:
n = raw_input("e"+str(i)+"=")
l.append(n)
i = i+1
print l
Run Code Online (Sandbox Code Playgroud)
但是,为什么我不能通过使用l[i] = raw_input("e"+str(i)+"=")来简化它呢?
示例:(不起作用)
# -*- coding: utf-8 -*-
N = int(raw_input("N="))
l=[]
i = 0
while i<N:
l[i] = raw_input("e"+str(i)+"=")
i = i+1
print l
Run Code Online (Sandbox Code Playgroud) 我需要为管理员进行"所有者"登录.假设我们有这个模型结构:
class Product(models.Model):
owner = models.ManyToManyField(User)
name = models.CharField(max_length=255)
description = models.CharField(max_length=255)
photos = models.ManyToManyField(Photo, through='ProductPhoto')
class Photo(models.Model):
order = models.IntegerField()
image = models.ImageField(upload_to='photos')
alt = models.CharField(max_length=255)
class ProductPhoto(models.Model):
photo = models.ForeignKey(Photo)
product = models.ForeignKey(Product)
Run Code Online (Sandbox Code Playgroud)
我们有一个组称为Owners某些用户是其中的一部分.这ProductPhoto是管理页面TabularInline上的一个Product.
现在,所有者需要编辑权限
(主要目标) 只有产品在哪里product__in=user.products(所以基本上只有他们拥有的产品).
(次要目标) 只是在描述和照片的产品
如何使用Django的管理/权限系统执行此操作?
django ×3
objective-c ×3
python ×2
autolayout ×1
compass-sass ×1
django-admin ×1
html ×1
ios ×1
iso8601 ×1
javascript ×1
nsdate ×1
nsstring ×1
sass ×1
types ×1
typescript ×1
uikit ×1
uistoryboard ×1