螢幕快照 2012-11-05 下午12.16.37
TableView Cell 使用方法dequeueReusableCellWithIdentifier
從xib或storyboard 使用自定cell
 
- (UITableViewCell *)tableView:(UITableView *)tableView  cellForRowAtIndexPath:(NSIndexPath *)indexPath

zer931 發表在 痞客邦 留言(0) 人氣()

NSBundle的用法
from http://fecbob.pixnet.net/blog/post/36157949-nsbundle%E7%9A%84%E7%94%A8%E6%B3%95--
NSBundle的物件可以獲取應用程式安裝目錄的附件。
附件包括了,當前應用程式下,所有的檔。(圖片、屬性清單等)

zer931 發表在 痞客邦 留言(0) 人氣()

git-init 檔案說明
from http://blog.xuite.net/yctseng/notes/35377315-git-init
git-init的時候,會在working directory下建立.git目錄,裡面放的是git repository的檔案,有了這些檔案,你才可以在這個working directory裡做git的操作。

zer931 發表在 痞客邦 留言(0) 人氣()

Ubuntu如何架伺服器初級教學(安裝Apache、MySQL、PHP 和 phpmyadmin )
 from http://way3sec.blogspot.tw/2010/08/ubuntuapachemysqlphp-phpmyadmin-lamp.html
這只是最簡單,要給初學者有信心的東西 

zer931 發表在 痞客邦 留言(0) 人氣()

utf8_general_ci 與 utf8_unicode_ci 的不同與差異
from http://life.different.idv.tw/scottwu/29.htm
 

zer931 發表在 痞客邦 留言(0) 人氣()

image_thumb8.png
UITableView cell自訂視圖中插入Table實現複雜介面
from http://fecbob.pixnet.net/blog/post/35423964
最近專案中需要實現如下圖所示的效果:
  

zer931 發表在 痞客邦 留言(0) 人氣()

Iphone在table cell中添加自訂佈局view
from http://fecbob.pixnet.net/blog/post/35424051


在android開發listView中,每一行的清單可以通過相應的xml定義視圖。在iphone開發中,tableView也提供了通過nib自訂視圖的解決方案。這就使開發者能夠完成相當複雜的介面佈局。

 


下麵介紹table中添加自訂的table cell。實現的效果如下:


image_thumb6.png  


實現過程很簡單,首先創建一個table視圖,添加table相應的協定。這一步很簡單,在這裡就不寫如何實現的了。不懂的可以看我以前的博客,或者看原始程式碼。

 


接下來,新建檔 並在 subclass 裡 選擇 UITableViewCell 這裡我命名為 “MyCell”

 


然後在利用IB創建一個名為mycell的nib,在裡面拖入一個UITableViewCell並將其類名改為MyCell。

image_thumb7.png  



-(NSInteger) tableView:(UITableView *)tableView


numberOfRowsInSection:(NSInteger)section



    return 1; 
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

    static NSString *CellIdentifier = @"CustomCellIdentifier"; 
    MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
        NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"mycell" owner:self options:nil]; 
        cell = [array objectAtIndex:0]; 
        [cell setSelectionStyle:UITableViewCellSelectionStyleGray]; 
    } 
    [[cell lable] setText:@"你好"]; 
    //[[cell imageView] setImage:[UIImage imageNamed:[imageNameArray objectAtIndex:indexPath.row]]]; 
    //[[cell nameLabel] setText:[nameArray objectAtIndex:indexPath.row]]; 
    return cell; 

- (CGFloat)tableView:(UITableView *)atableView heightForRowAtIndexPath:(NSIndexPath *)indexPath  


{       
    return 90; 
}





zer931 發表在 痞客邦 留言(0) 人氣()

於 CentOS 6.2 安裝 Git, Gitolite 及 Gitlab
from http://blog.faq-book.com/?p=5222
由 Calvert 發表於 七月 30, 2012 / 尚無評論

zer931 發表在 痞客邦 留言(0) 人氣()

Singletons in Objective-C
from http://www.galloway.me.uk/tutorials/singleton-classes/

One of my most used design patterns when developing for iOS is the singleton pattern. It’s an extremely powerful way to share data between different parts of code without having to pass the data around manually. More about the singleton pattern and other patterns can be found in this excellent book:
Background
Singleton classes are an important concept to understand because they exhibit an extremely useful design pattern. This idea is used throughout the iPhone SDK, for example, UIApplication has a method called sharedApplication which when called from anywhere will return the UIApplication instance which relates to the currently running application.
How to implement
You can implement a singleton class in Objective-C using the following code:
MyManager.h
#import <foundation/Foundation.h>
@interface MyManager : NSObject {
NSString *someProperty;
}
@property (nonatomic, retain) NSString *someProperty;
+ (id)sharedManager;
@end
MyManager.m
#import "MyManager.h"
@implementation MyManager
@synthesize someProperty;
#pragma mark Singleton Methods
+ (id)sharedManager {
static MyManager *sharedMyManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedMyManager = [[self alloc] init];
});
return sharedMyManager;
}
- (id)init {
if (self = [super init]) {
someProperty = [[NSString alloc] initWithString:@"Default Property Value"];
}
return self;
}
- (void)dealloc {
// Should never be called, but just here for clarity really.
}
@end
What this does is it defines a static variable (but only global to this translation unit)) called sharedMyManager which is then initialised once and only once in sharedManager. The way we ensure that it’s only created once is by using the dispatch_once method from Grand Central Dispatch (GCD). This is thread safe and handled entirely by the OS for you so that you don’t have to worry about it at all.
However, if you would rather not use GCD then you should use the following code for sharedManager:
Non-GCD based code
+ (id)sharedManager {
@synchronized(self) {
if (sharedMyManager == nil)
sharedMyManager = [[self alloc] init];
}
return sharedMyManager;
}
Then you can reference the singleton from anywhere by calling the following function:
MyManager *sharedManager = [MyManager sharedManager];
I’ve used this extensively throughout my code for things such as creating a singleton to handle CoreLocation or CoreData functions.
Non-ARC code
Not that I recommend it, but if you are not using Automatic Reference Counting (ARC), then you should use the following code:
MyManager.h non-ARC
#import "MyManager.h"
static MyManager *sharedMyManager = nil;
@implementation MyManager
@synthesize someProperty;
#pragma mark Singleton Methods
+ (id)sharedManager {
@synchronized(self) {
if(sharedMyManager == nil)
sharedMyManager = [[super allocWithZone:NULL] init];
}
return sharedMyManager;
}
+ (id)allocWithZone:(NSZone *)zone {
return [[self sharedManager] retain];
}
- (id)copyWithZone:(NSZone *)zone {
return self;
}
- (id)retain {
return self;
}
- (unsigned)retainCount {
return UINT_MAX; //denotes an object that cannot be released
}
- (oneway void)release {
// never release
}
- (id)autorelease {
return self;
}
- (id)init {
if (self = [super init]) {
someProperty = [[NSString alloc] initWithString:@"Default Property Value"];
}
return self;
}
- (void)dealloc {
// Should never be called, but just here for clarity really.
[someProperty release];
[super dealloc];
}
@end

zer931 發表在 痞客邦 留言(0) 人氣()

Cocos2d 2.0 Touch Input
from http://zackworkshopios.blogspot.tw/2012/06/cocos2d-touch-input.html
 

zer931 發表在 痞客邦 留言(0) 人氣()


初探ARC - Automatic Reference Counting
from http://popcornylu.blogspot.tw/2011/06/arc-automatic-reference-counting.html
 

zer931 發表在 痞客邦 留言(0) 人氣()

NSMutableArray Sort
 from http://sorrowslee.blogspot.tw/2012/07/nsmutablearray-nsstring-sortorder-array.html

今天來分享一下NSMutableArray的排序方式
NSString *sortOrder = @"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz_0123456789";

[array sortUsingComparator:^NSComparisonResult(id obj1, id obj2)
{
char char1 = [(NSString *)obj1 characterAtIndex: 0];
char char2 = [(NSString *)obj2 characterAtIndex: 0];

int index1;
for (index1 = 0; index1 < sortOrder.length; index1++)
if ([sortOrder characterAtIndex: index1] == char1)
break;

int index2;
for (index2 = 0; index2 < sortOrder.length; index2++)
if ([sortOrder characterAtIndex: index2] == char2)
break;

if (index1 < index2)
return NSOrderedAscending;
else if (index1 > index2)
return NSOrderedDescending;
else
return [(NSString *)obj1 compare: obj2 options: NSCaseInsensitiveSearch];
}];


這樣Array就會照英文跟數字的方式來排序了

zer931 發表在 痞客邦 留言(0) 人氣()

Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。