当我分析我的项目以下代码给我泄漏警告.有没有办法解决我的内存泄漏问题?
警告 :
Potential leak of an object allocated on line 38 and stored into 'addressBook'
Run Code Online (Sandbox Code Playgroud)
贝娄是我的代码.
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
m_tableDataArray = [[[NSMutableArray alloc] init]autorelease];
NSMutableArray *listDate = [[[NSMutableArray alloc] init]autorelease];
ABAddressBookRef addressBook = ABAddressBookCreate();
NSArray *addresses = (NSArray *) ABAddressBookCopyArrayOfAllPeople(addressBook);
NSInteger addressesCount = [addresses count];
for (int i = 0; i < addressesCount; i++) {
ABRecordRef record = [addresses objectAtIndex:i];
NSString *firstName = (NSString *)ABRecordCopyValue(record, kABPersonFirstNameProperty);
NSString *lastName = (NSString *)ABRecordCopyValue(record, kABPersonLastNameProperty);
if(firstName != nil && lastName …Run Code Online (Sandbox Code Playgroud) 我的iPhone应用程序中有一些数学相关的代码.我有一些方程式如下.
int tempVal = 56/50;
NSLog(@"%d", tempVal);
Run Code Online (Sandbox Code Playgroud)
产量
2013-03-25 16:29:36.749 TestApp[1467:c07] 1
实际上56/50 = 1.12,我tempVal是整数,这就是为什么我的结果是1.
但我想要更接近更大的价值然后结果.我的意思是我想要2作为我的输出.我不能让增量编程方式tempVal像
tempVal+1或tempVal = tempVal + 1什么的.
有没有可能做到这一点?
我以UITableView编程方式创建了一个.我正在加载数据.我想table view在每4行后插入一个广告Banner(可单击按钮,它等于单元格的高度和宽度).是否可以插入?或者我应该添加一些东西到我正在加载表视图的数组?
提前致谢.
我对Swift 2.0的解包基础非常困惑.我有以下代码来显示从字典到标签的姓氏字符串值.
let lastName:String? = self.userDict.objectForKey("last_name")
self.lblLastName.text = "Last Name: " + lastName!
Run Code Online (Sandbox Code Playgroud)
但有时这个代码在值分配之前运行到self.userDict那时代码上面的self.userDict.objectForKey("last_name")nil并抛出一个错误.
对于解决方案,我修改了我的代码,如bellow并保持该值解包,但编译器不会将其视为有效
let lastName:String? = self.userDict.objectForKey("last_name")
self.lblLastName.text = "Last Name: " + lastName? //--ERROR: Value of optional type 'String?' not unwrapped; did you mean to use '!' or '?'?
Run Code Online (Sandbox Code Playgroud)
请建议我有效的方式来满足要求.
我在 swift 中有一些旧版本的代码,如下所示
let initVc:UIViewController? = self.initViewController!
switch initVc {
case let vc as ProductListViewController:
pageMenu?.moveToPage(0)
case let vc as OrderListViewController:
pageMenu?.moveToPage(1)
case let vc as CustomerListViewController:
pageMenu?.moveToPage(2)
default:
pageMenu?.moveToPage(0)
}
Run Code Online (Sandbox Code Playgroud)
上面的代码self.initViewController是父视图控制器,从那里推送这个控制器。
更新到 swift 2.0 后出现错误,如下所示
Immutable value 'vc' was never used; consider replacing with '_' or removing it
Run Code Online (Sandbox Code Playgroud)
请提出满足此要求所需的更改。