Swift 2.0中已删除'advance'API.
如果我们在Swift 2.0中使用'advance'API,就会抛出错误说法'advance' is unavailable: call the '**advancedBy(n)**' method on the index.
如何在Swift 2.0中使用advancedBy API获取索引?
以下是我的情景:
let startIndex = advance(cardNumber.endIndex, -4)
let lastFourDigitsOfPhoneNumber = phoneNumber.substringFromIndex(startIndex)
Run Code Online (Sandbox Code Playgroud) Objective-C如何提供"动态"运行时?"动态"在这里指的是什么?
我发现NSString有一个奇怪的行为.我试着运行下面的代码并注意到了这一点.
NSString *str = [[NSString alloc] initwithstring : @"hello"];
[str release];
NSLog(@" Print the value : %@", str);
Run Code Online (Sandbox Code Playgroud)
在这里,在第三行应用程序应该崩溃,因为我们正在访问一个被释放的对象.但它印刷了str的价值.它没有崩溃.但是对于NSArray,我观察到了不同的行为.
NSArray *array = [[NSArray alloc] initwithobjects : @"1", @"2", nil];
[array release];
NSLog(@"Print : %@", [array objectatindex : 0]);
NSLog(@"Print : %@", [array objectatindex : 0]);
Run Code Online (Sandbox Code Playgroud)
该代码有两个用于NSArray的NSLog语句.在执行第一个NSLog后释放,这是打印值.但是当第二个NSLog被执行时,应用程序崩溃了.应用程序崩溃是可以接受的,因为访问的数组已经发布 但是当第一个NSLog执行时它应该崩溃.不是第二个.
帮助我解决这个问题.在这些情况下如何发布.
谢谢Jithen
如果逻辑失败,如何停止单元测试执行.以下是示例.如何在XCTAssertEqual("Hello", "Hi", "Passed")条件失败时停止执行.
func test_one()
{
XCTAssertEqual("Hello", "Hi", "Passed")
let b = "Good Morning!"
// code continues...
}
Run Code Online (Sandbox Code Playgroud) 直到Swift 1.2版本,UIWebView LoadData接受了nil值,但是Swift 2.0抛出错误"Swift不符合协议NilLateralConvertible".
Swift 1.2:工作正常
self.webView.loadData(tempData!, MIMEType: "application/pdf", textEncodingName: nil, baseURL: nil)
Run Code Online (Sandbox Code Playgroud)
Swift 2.0:引发错误
self.webView.loadData(tempData!, MIMEType: "application/pdf", textEncodingName: nil, baseURL: nil)
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我有4个标签栏项目.我在XIB文件中添加了这4个标签栏项目.
最初我必须显示3个标签栏项目,同步后我必须在我的应用程序中显示第4个标签栏项目.所以为此,我使用以下代码隐藏第4个Tab栏项.
[[[self.tabBarController.tabBar subviews] objectAtIndex:03 setHidden:YES];
Run Code Online (Sandbox Code Playgroud)
标签项隐藏但我有空格代替隐藏项目.是否有机会在完整标签栏中对齐其他3个项目.事情是我不想在标签栏中显示空白或空白.
谢谢Jithen
有没有办法使用 XCTest 对 TouchId 的“evaluatePolicy”或“canevaluatePolicy”进行单元测试?我想使用模拟器作为基础进行单元测试。
谢谢
xcode 7中的打印描述给出了类似于下面的内存地址.尝试了所有选项,但得到这样的输出.请让我知道如何打印字典的确切值.
? 3 elements
? [0] : 2 elements
- .0 : Output
? .1 : 3 elements
? [0] : 2 elements
- .0 : type
- .1 : Output2 { ... }
? [1] : 2 elements
- .0 : version
- .1 : 1.0
? [2] : 2 elements
- .0 : content
? .1 : 2 elements
Run Code Online (Sandbox Code Playgroud)
不确定为什么Apple 100%专注于控制台窗口..从XCode 5到6,6到6.2,6.2到6.4以及现在6.4到7都有变化.我认为Apple应该专注于提高质量而不是控制台)
我使用故事板创建了一个简单的应用程序.在storyboard文件中,我拖动了一个视图控制器.我想为新添加的视图控制器分配一个类.为此,我在Xcode中单击了新文件,单击Objective c class,输入了类名MyViewController,子类是UIViewController.我回到故事板并单击了Custom class类型并在类选项卡中给出了MyViewController.但它没有采取这一点.如果我取消选择viewcontroller并选择,则自定义类再次显示"UIView".
我正在使用Xcode版本4.3.3(4E3002).
如果我们使用iPhone相机拍摄照片,默认情况下图像将以JPEG格式保存.
我想保存以PNG等其他格式捕获的图像.可能吗?
当我们从我们的应用程序调用iPhone相机时,是否可以从代码执行此操作,我们可以设置在捕获图片后必须保存的图像类型吗?我的意思是在拍摄照片之前打开相机并设置类型?
我观察到以下行为.
取了两个属性变量.
@property (nonatomic, retain) NSString *stringOne;
@property (nonatomic, assign) NSString *stringTwo;
Run Code Online (Sandbox Code Playgroud)
在.m文件中写下代码..
NSMutableString *localstring= [[NSMutableString alloc] initWithString:@"test"];
self.stringOne = localstring;
NSLog(@"localstring = %d", [string retainCount]);
NSLog(@"string one retain count = %d", [self.stringOne retainCount]);
self.stringTwo = localstring;
NSLog(@"localstring = %d", [localstring retainCount]);
NSLog(@"string two retain count = %d", [self.stringTwo retainCount]);
Run Code Online (Sandbox Code Playgroud)
由于alloc,localstring保留计数为1.现在我给了self.stringOne = localString.
由于stringOne的retain属性,localstring的保留计数将变为2.现在我给了self.stringTwo = localString.
即使在这里,localstring保留计数也会增加1.请注意,我已将assign属性赋予stringTwo.实际上,localstring或stringTwo的保留计数不应该增加1,因为它是assign属性.如果我错了,请纠正我.
谢谢Jithen
ios ×10
iphone ×5
swift2 ×3
objective-c ×2
swift ×2
unit-testing ×2
xcode7 ×2
xctest ×2
app-store ×1
assign ×1
binding ×1
camera ×1
dynamic ×1
ipad ×1
retain ×1
storyboard ×1
touch-id ×1
uistoryboard ×1
uitabbar ×1
uitabbaritem ×1
uiwebview ×1
xib ×1