我从Apple网站下载了PushyMac示例应用程序,但无法弄清楚为什么我无法在应用程序启动时注册推送通知.这是我得到的错误
2013-02-27 19:53:49.737 PushyMac[61525:303] applicationDidFinishLaunching:
2013-02-27 19:53:49.738 PushyMac[61525:303] didFinishLaunchingWithOptions:
notification name NSApplicationDidFinishLaunchingNotification
2013-02-27 19:53:49.753 PushyMac[61525:303] application:didFailToRegisterForRemoteNotificationsWithError: with
error = Error Domain=NSOSStatusErrorDomain Code=1 "The operation
couldn’t be completed. (OSStatus error 1.)" (kCFHostErrorHostNotFound /
kCFStreamErrorSOCKSSubDomainVersionCode / kCFStreamErrorSOCKS5BadResponseAddr /
kCFStreamErrorDomainPOSIX / evtNotEnb / siInitSDTblErr / kUSBPending / dsBusError /
kStatusIsError / kOTSerialSwOverRunErr / cdevResErr / EPERM: / Error code is the version
of SOCKS which the server wishes to use / / POSIX errno; interpret using <sys/errno.h> /
event not enabled …Run Code Online (Sandbox Code Playgroud) UIViewControllerclass 定义了一个指定的初始化器,init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?)没有方便的初始化器,但是,可以编写以下代码行并编译它(Xcode 6.1.1)
let vc = UIViewController()
这怎么可能?
根据Swift书,这里是初始化继承的规则
规则 1 如果您的子类没有定义任何指定的初始值设定项,它会自动继承其所有超类指定的初始值设定项。
规则 2 如果您的子类提供了其所有超类指定初始化器的实现——或者按照规则 1 继承它们,或者通过提供自定义实现作为其定义的一部分——那么它会自动继承所有超类便利初始化器。”
摘自:Apple Inc. “The Swift Programming Language”。电子书。 https://itun.es/us/jEUH0.l
因此UIViewController无法init()从其祖先超类继承该方法NSObject,那么初始化程序从何而来?
另一方面,因为每个 swift 类最终都必须调用其指定的初始化程序,这是否意味着initWithCoder:最终也会调用init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?)? 然而,在实践中似乎并非如此。
如果NSEnumerationConcurrent在使用块枚举集合时使用,Cocoa是否保证该块将同时执行?或者它实际上取决于需要枚举的对象数量?另外,当操作实际上是并发时,Cocoa如何决定启动多少线程?
编辑:其他问题
另一方面,是枚举NSEnumerationConcurrent选项同步还是异步的集合?换句话说,如果您在枚举代码下面有一些代码,它是否仅在所有并发枚举完成后才执行?(线程加入?)
我有一个简单的客观c对象
NSManagedObjectContext * moc = nil
现在我需要将它传递给接受类型参数的ARC环境中的函数
void *volatile * value
我试过了
&((__bridge void *)moc))
但是我得到以下编译器错误
Address expression must be lvalue or a function pointer
我也试过了
void ** addr = (__bridge void **)(&moc);
Run Code Online (Sandbox Code Playgroud)
但是我得到了错误
Incompatible types casting 'NSManagedObjectContext * __strong *' to 'void **' with a __bridge cast
有没有办法先进行转换然后获取转换指针的地址?
编辑
更具体地说,我正在尝试实现另一个stackoverflow问题中描述的单例模式,但是我无法NSManagedObjectContext在ARC环境中将目标c 对象的地址输入到以下函数的第三个参数中.
OSAtomicCompareAndSwapPtrBarrier(void *__oldValue, void *__newValue, void *volatile *__theValue)
我正在使用python IMAPClient来从IMAP服务器检索电子邮件.我检索的一个属性是BODYSTRUCTURE.但是,我找不到任何有关如何解释返回值的文档.这是IMAP服务器返回的正文结构
16:12.679978 < FLAGS (NotJunk $NotJunk \Seen) BODYSTRUCTURE ((("TEXT" "PLAIN" ("CHARSET" "us-ascii") NIL NIL "QUOTED-PRINTABLE" 4888 170 NIL NIL NIL)("TEXT" "HTML" ("CHARSET" "us-ascii") NIL NIL "QUOTED-PRINTABLE" 32407 479 NIL NIL NIL) "ALTERNATIVE" ("BOUNDARY" "Apple-Mail=_3AAA7CD7-3B07-406A-83CB-2C7762C3306E") NIL NIL)("APPLICATION" "PKCS7-SIGNATURE" ("NAME" "smime.p7s") NIL NIL "BASE64" 2414 NIL ("ATTACHMENT" ("FILENAME" "smime.p7s")) NIL) "SIGNED" ("BOUNDARY" "Apple-Mail=_DF4FE6BB-F796-46D7-A593-9723F4315DD2" "MICALG" "sha1" "PROTOCOL" "application/pkcs7-signature") NIL NIL))
Run Code Online (Sandbox Code Playgroud)
这是解析为python类型的相同主体结构.
"BODYSTRUCTURE": [
[
[
[
"TEXT",
"PLAIN",
[
"CHARSET",
"us-ascii"
],
null,
null,
"QUOTED-PRINTABLE",
4888,
170,
null,
null, …Run Code Online (Sandbox Code Playgroud) 检查在iOS 7,我能找到麦克风许可唯一记载的方法requestRecordPermission记录上AVAudioSession.https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioSession_ClassReference/Reference/Reference.html#//apple_ref/occ/instm/AVAudioSession/requestRecordPermission:
但是,如果用户尚未做出决定,则使用此方法检查权限的行为将显示要求用户许可的警报,这可能是非常不合需要的.是否有工作来检查麦克风权限而不显示提示?
WWDC 2011和OS X Lion为构建接口引入了基于视图的表视图.但是,使用这些新工具创建的应用程序可以在Tiger和Snow Leopard上运行吗?或者我们是否必须回到基于单元格的表格视图?
在Cocoa中,您可以获取文件的属性,如下所示
NSString *path = @"/path/to/some/file";
NSError *err = ......;
NSDictionary *dic = [[NSFileManager defaultManager] attributesOfItemAtPath:path error:&err];
NSLog(@"%@", dic);
Run Code Online (Sandbox Code Playgroud)
例如,它将返回键的目录
{
NSFileCreationDate = "2009-12-02 10:03:38 +0000";
NSFileExtensionHidden = 0;
NSFileGroupOwnerAccountID = 80;
NSFileGroupOwnerAccountName = admin;
NSFileHFSCreatorCode = 0;
NSFileHFSTypeCode = 0;
NSFileModificationDate = "2009-12-02 19:20:54 +0000";
NSFileOwnerAccountID = 501;
NSFileOwnerAccountName = Tony;
NSFilePosixPermissions = 511;
NSFileReferenceCount = 1;
NSFileSize = 496988;
NSFileSystemFileNumber = 5187496;
NSFileSystemNumber = 234881029;
NSFileType = NSFileTypeRegular;
}
Run Code Online (Sandbox Code Playgroud)
现在,您还可以使用CoreFoundation MDItem获取文件属性
NSString *path = @"/path/to/some/file";
MDItemRef mdItem …Run Code Online (Sandbox Code Playgroud) 在Objective-C中,您可以执行[variable valueForKeyPath:@"abc.def"]或者[[variable abc] def]如果 abc不存在,variable您nil最终会获得一个值,并且不会出现错误或异常.这真的很方便.Python中有这样的东西吗?我知道你可以做(至少对于词典)
abc = variable.get('abc', None)
if abc:
def = abc.get('def', None)
Run Code Online (Sandbox Code Playgroud)
要么
try:
def = variable.get('abc').get('def')
except:
pass
Run Code Online (Sandbox Code Playgroud)
这似乎令人难以置信的冗长.当我只想访问对象的属性或获取None值时,有更简单的方法吗?
TypeScript允许检查是否检查未知属性.下列
interface MyInterface {
key: string
}
const myVar: MyInterface = {
asda: 'asdfadf'
}
Run Code Online (Sandbox Code Playgroud)
会失败的
输入'{asda:string; }'不能赋值为'MyInterface'.
对象文字只能指定已知属性,'myInterface'类型中不存在'asda'.
但是,此语句将编译没有任何问题.空接口将接受任何值
interface EmptyInterface {
}
const myVar: EmptyInterface = {
asda: 'asdfadf'
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我真的想为可能没有任何属性的空对象定义类型,该怎么办?我怎样才能在打字稿中实现这一目标?
cocoa ×5
python ×2
accessor ×1
casting ×1
email ×1
filesystems ×1
idioms ×1
imap ×1
interface ×1
ios ×1
ios7 ×1
macos ×1
macos-carbon ×1
microphone ×1
objective-c ×1
osx-lion ×1
permissions ×1
pointers ×1
swift ×1
typescript ×1