我尝试在cocoa pods
本地使用,但失败并出现错误.
我安装了一个名为的本地仓库MyPods
,并没有遇到任何问题.我做到了
$ pod repo add MyPods file://localhost/Users/colas/MyDeveloper/MyPods/.
Run Code Online (Sandbox Code Playgroud)
然后,我添加了MyPod
一个.podspec
(在文件夹中/MyPods/MyLib/0.0.1
..podspec
文件看起来像这样
Pod::Spec.new do |s|
s.name = "MyLib"
s.version = "0.0.1"
s.source = { :path => 'file://localhost/Users/colas/MyLib/0.0.1/MyLib'}
s.source_files = 'MyLib/**/*.{h,m}'
end
Run Code Online (Sandbox Code Playgroud)
然后,我想pod
在一个项目中使用它.这是我的Podfile
platform :ios, '5.0'
xcodeproj 'testMyLib.xcodeproj'
pod 'MyLib'
Run Code Online (Sandbox Code Playgroud)
但我有错误:
Pod::Downloader::DownloaderError - Unsupported download strategy `{:path=>...
Run Code Online (Sandbox Code Playgroud)
有没有办法在我的机器上管理我自己的pod?
在Interface Builder
控制点击a时NSTextField
,该选项Sent Actions
可用.我认为它会在点击我的时候触发一个动作NSTextField
(这是不可编辑的),但它不起作用.
有关此选项目标的任何线索吗?
我知道怎么说NSDocument
有新的变化-(void)updateChangeCount:
.但是,我找不到一个方法changeCount
或类似的东西来检查NSDocument是否有未保存的更改.
有没有办法检查?
我想向NSArray
我的用户公开一个(我希望他们只阅读它),但在我的课堂上,我想使用一个NSMutableArray
.
我尝试了以下代码,它没有引发任何警告:
// In the .h
@interface MyClass : NSObject <NSApplicationDelegate>
@property (nonatomic, readonly) NSArray * test ;
@end
Run Code Online (Sandbox Code Playgroud)
和
// In the .m
@interface MyClass ()
@property (nonatomic, strong, readwrite) NSMutableArray * test ;
@end
@implementation MyClass
- (id)init
{
self = [super init];
if (self)
{
self.test = [[NSMutableArray alloc] init] ;
}
return self;
}
@end
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试访问@property
test
我的类中的from,我可以使用该方法addObject:
.所以,我想先前的事情是不可能的.
为什么没有这样的警告?
我在这里阅读(在objective-c中是否存在命名初始化方法的约定?)"根据Apple,初始化方法应始终以'init'开头".
但是,什么是初始化器?
我知道什么是"指定初始化程序".你可以递归地定义它:它是调用指定初始化器的唯一方法super
; 加:NSObject的指定初始化程序是init
.
但是,什么是初始化器?
我问这个问题,因为我在这个类的实例方法的两个名称之间犹豫不决IceCream
:
- (id)initIceCreamWithFlavour:
- (id)iceCreamWithFlavour:
("呼吁alloc
")
我觉得相对于ARC的命名惯例,两个名字都可以.(这是我在这里的主要关注点.欢迎提出意见.)现在我问这个问题,解决方案(id)iceCreamWithFlavour:
似乎更好.
但问题仍然存在:什么是初始化器?
我会说:初始化器是一种你"呼唤alloc
"的方法.
我正在开发具有多个窗口和视图(NSTextView
等)的应用程序。
我想在我的应用程序中全局更改游标,以便即使游标输入trackingRect
of(例如)的,NSTextView
它也不会更改。
这可能吗?
PS:我还需要恢复到通常的行为。
考虑一个循环.我也对快速枚举感兴趣.所以,它可能是
for(id obj in objects)
[objects enumerate... ]
我想知道是否有一种经典或好的方法(in Objective-C
)来区分循环的第一个元素和其他元素.当然,如果只有一种很好的方法来区分最后的元素和其他元素,我也很感兴趣.
是否有一种经典或好的方法将不同的指令应用于循环的第一个或最后一个元素?
我很难理解ARC的命名约定.我一直用ARC编码,我猜这就是原因.
这个名字:
+ (MyObject *)newObjectFrom:(MyObject *)anObject
withOptions:(NSDictionary*)options
{
MyObject * newObject = [anObject copy] ;
[newObject modifyWith:options] ;
return newObject ;
}
Run Code Online (Sandbox Code Playgroud)
还是这个名字?
+ (MyObject *)objectFrom:(MyObject *)anObject
withOptions:(NSDictionary*)options
{
MyObject * newObject = [anObject copy] ;
[newObject modifyWith:options] ;
return newObject ;
}
Run Code Online (Sandbox Code Playgroud)
这个名字:
- (MyObject *)newObjectwithOptions:(NSDictionary*)options
{
MyObject * newObject = [self copy] ;
[newObject modifyWith:options] ;
return newObject ;
}
Run Code Online (Sandbox Code Playgroud)
还是这个名字?
- (MyObject *)objectwithOptions:(NSDictionary*)options
{
MyObject * newObject = [self copy] ; …
Run Code Online (Sandbox Code Playgroud) memory-leaks objective-c naming-conventions class-method automatic-ref-counting
标题标签上有一个很小的边框UIBUtton
,不适合UILabels
.
[self.button setTitle:@"border" forState:UIControlStateNormal] ;
[self.button setTitleColor:[UIColor yellowColor] forState:UIControlStateNormal] ;
self.label.text = @"no borders!"
self.label.textColor = [UIColor yellowColor] ;
Run Code Online (Sandbox Code Playgroud)
由于这个边界,UIButton
浅色的s看起来很"脏".
它是什么以及如何删除它?
CGPoint, CGSize 和 CGRect 的单位是什么;NSSize、NSPoint 和 NSRect?
objective-c ×5
ios ×2
class-method ×1
click ×1
cocoa ×1
cocoapods ×1
enumeration ×1
git ×1
local ×1
loops ×1
macos ×1
memory-leaks ×1
nscursor ×1
nsdocument ×1
nspoint ×1
nsrect ×1
nstextfield ×1
nstextview ×1
nsview ×1
properties ×1
save ×1
uibutton ×1
uilabel ×1
uiview ×1
xcode ×1